42 lines
1.1 KiB
ReStructuredText
42 lines
1.1 KiB
ReStructuredText
.. _OPAL_PCI_RESET:
|
|
|
|
OPAL_PCI_RESET
|
|
==============
|
|
|
|
.. code-block:: c
|
|
|
|
#define OPAL_PCI_RESET 49
|
|
|
|
enum OpalPciResetScope {
|
|
OPAL_RESET_PHB_COMPLETE = 1,
|
|
OPAL_RESET_PCI_LINK = 2,
|
|
OPAL_RESET_PHB_ERROR = 3,
|
|
OPAL_RESET_PCI_HOT = 4,
|
|
OPAL_RESET_PCI_FUNDAMENTAL = 5,
|
|
OPAL_RESET_PCI_IODA_TABLE = 6
|
|
};
|
|
|
|
enum OpalPciResetState {
|
|
OPAL_DEASSERT_RESET = 0,
|
|
OPAL_ASSERT_RESET = 1
|
|
};
|
|
|
|
int64_t opal_pci_reset(uint64_t id, uint8_t reset_scope, uint8_t assert_state);
|
|
|
|
Kick off the requested PCI reset operation. This starts a state machine off to
|
|
perform the requested operation. This call will return how many milliseconds to
|
|
wait before calling back into :ref:`OPAL_PCI_POLL`. An OS can
|
|
call :ref:`OPAL_PCI_POLL` earlier, but it is unlikely any progress will have
|
|
been made.
|
|
|
|
|
|
Returns
|
|
-------
|
|
|
|
:ref:`OPAL_PARAMETER`
|
|
Invalid ``id``, ``reset_scope``, or ``assert_state``.
|
|
:ref:`OPAL_UNSUPPORTED`
|
|
Operation is unsupported on ``id``.
|
|
value > 0
|
|
How many ms to wait for the state machine to crank.
|
|
Call :ref:`OPAL_PCI_POLL` to crank the state machine further.
|