72 lines
2 KiB
ReStructuredText
72 lines
2 KiB
ReStructuredText
![]() |
.. _OPAL_PCI_EEH_FREEZE_STATUS:
|
||
|
|
||
|
OPAL_PCI_EEH_FREEZE_STATUS
|
||
|
==========================
|
||
|
|
||
|
.. code-block:: c
|
||
|
|
||
|
#define OPAL_PCI_EEH_FREEZE_STATUS 23
|
||
|
|
||
|
enum OpalFreezeState {
|
||
|
OPAL_EEH_STOPPED_NOT_FROZEN = 0,
|
||
|
OPAL_EEH_STOPPED_MMIO_FREEZE = 1,
|
||
|
OPAL_EEH_STOPPED_DMA_FREEZE = 2,
|
||
|
OPAL_EEH_STOPPED_MMIO_DMA_FREEZE = 3,
|
||
|
OPAL_EEH_STOPPED_RESET = 4,
|
||
|
OPAL_EEH_STOPPED_TEMP_UNAVAIL = 5,
|
||
|
OPAL_EEH_STOPPED_PERM_UNAVAIL = 6
|
||
|
};
|
||
|
|
||
|
enum OpalPciStatusToken {
|
||
|
OPAL_EEH_NO_ERROR = 0,
|
||
|
OPAL_EEH_IOC_ERROR = 1,
|
||
|
OPAL_EEH_PHB_ERROR = 2,
|
||
|
OPAL_EEH_PE_ERROR = 3,
|
||
|
OPAL_EEH_PE_MMIO_ERROR = 4,
|
||
|
OPAL_EEH_PE_DMA_ERROR = 5
|
||
|
};
|
||
|
|
||
|
int64_t opal_pci_eeh_freeze_status(uint64_t phb_id, uint64_t pe_number,
|
||
|
uint8_t *freeze_state,
|
||
|
uint16_t *pci_error_type,
|
||
|
uint64_t *phb_status);
|
||
|
|
||
|
.. note:: The ``phb_status`` parameter is deprecated as
|
||
|
of :ref:`skiboot-6.3-rc1`. Linux only ever passed in NULL,
|
||
|
and this was safe. Supplying a pointer was previously *unsafe*.
|
||
|
Always pass NULL.
|
||
|
|
||
|
.. note:: There once was a :ref:`OPAL_PCI_EEH_FREEZE_STATUS2` call, but it
|
||
|
was introduced in firmware and never used by any OS, so it has since
|
||
|
been removed from OPAL.
|
||
|
|
||
|
Returns
|
||
|
-------
|
||
|
|
||
|
:ref:`OPAL_PARAMETER`
|
||
|
Invalid address or PHB.
|
||
|
:ref:`OPAL_UNSUPPORTED`
|
||
|
PHB does not support this operation.
|
||
|
:ref:`OPAL_HARDWARE`
|
||
|
Hardware prohibited getting status, OPAL maybe marked it as broken.
|
||
|
:ref:`OPAL_SUCCESS`
|
||
|
Retreived status.
|
||
|
|
||
|
.. _OPAL_PCI_EEH_FREEZE_STATUS2:
|
||
|
|
||
|
OPAL_PCI_EEH_FREEZE_STATUS2
|
||
|
===========================
|
||
|
|
||
|
.. code-block:: c
|
||
|
|
||
|
#define OPAL_PCI_EEH_FREEZE_STATUS2 61
|
||
|
|
||
|
Use :ref:`OPAL_PCI_EEH_FREEZE_STATUS` instead of this (removed) call.
|
||
|
|
||
|
While you'd think that a call introduced in the first public OPAL release would
|
||
|
have been used somewhere, it seems that all existing code has only ever used
|
||
|
:ref:`OPAL_PCI_EEH_FREEZE_STATUS` over :ref:`OPAL_PCI_EEH_FREEZE_STATUS2`.
|
||
|
|
||
|
This call has been removed as of :ref:`skiboot-6.4` as it has literally never
|
||
|
been used.
|