diff options
author | 2023-10-10 14:33:42 +0000 | |
---|---|---|
committer | 2023-10-10 14:33:42 +0000 | |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/skiboot/doc/opal-api/opal-pci-reset-49.rst | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/skiboot/doc/opal-api/opal-pci-reset-49.rst')
-rw-r--r-- | roms/skiboot/doc/opal-api/opal-pci-reset-49.rst | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/roms/skiboot/doc/opal-api/opal-pci-reset-49.rst b/roms/skiboot/doc/opal-api/opal-pci-reset-49.rst new file mode 100644 index 000000000..85acc0bb7 --- /dev/null +++ b/roms/skiboot/doc/opal-api/opal-pci-reset-49.rst @@ -0,0 +1,42 @@ +.. _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. |