mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-27 11:06:41 -05:00
Documentation: PCI: Amend error recovery doc with DPC/AER specifics
Amend the documentation on PCI error recovery with specifics about Downstream Port Containment and Advanced Error Reporting: * Explain that with DPC, devices are inaccessible upon an error (similar to EEH on powerpc) and do not become accessible until the link is re-enabled. * Explain that with AER, although devices may already be accessible in the ->error_detected() callback, accesses should be deferred to the ->mmio_enabled() callback for compatibility with EEH on powerpc and with s390. Signed-off-by: Lukas Wunner <lukas@wunner.de> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Brian Norris <briannorris@chromium.org> Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com> Reviewed-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com> Link: https://patch.msgid.link/61d8eeadb20ee71c3a852f44c863bfe0209c454d.1757942121.git.lukas@wunner.de
This commit is contained in:
committed by
Bjorn Helgaas
parent
8e4a13fc61
commit
15dea68d41
@@ -122,6 +122,10 @@ A PCI bus error is detected by the PCI hardware. On powerpc, the slot
|
||||
is isolated, in that all I/O is blocked: all reads return 0xffffffff,
|
||||
all writes are ignored.
|
||||
|
||||
Similarly, on platforms supporting Downstream Port Containment
|
||||
(PCIe r7.0 sec 6.2.11), the link to the sub-hierarchy with the
|
||||
faulting device is disabled. Any device in the sub-hierarchy
|
||||
becomes inaccessible.
|
||||
|
||||
STEP 1: Notification
|
||||
--------------------
|
||||
@@ -204,6 +208,24 @@ link reset was performed by the HW. If the platform can't just re-enable IOs
|
||||
without a slot reset or a link reset, it will not call this callback, and
|
||||
instead will have gone directly to STEP 3 (Link Reset) or STEP 4 (Slot Reset)
|
||||
|
||||
.. note::
|
||||
|
||||
On platforms supporting Advanced Error Reporting (PCIe r7.0 sec 6.2),
|
||||
the faulting device may already be accessible in STEP 1 (Notification).
|
||||
Drivers should nevertheless defer accesses to STEP 2 (MMIO Enabled)
|
||||
to be compatible with EEH on powerpc and with s390 (where devices are
|
||||
inaccessible until STEP 2).
|
||||
|
||||
On platforms supporting Downstream Port Containment, the link to the
|
||||
sub-hierarchy with the faulting device is re-enabled in STEP 3 (Link
|
||||
Reset). Hence devices in the sub-hierarchy are inaccessible until
|
||||
STEP 4 (Slot Reset).
|
||||
|
||||
For errors such as Surprise Down (PCIe r7.0 sec 6.2.7), the device
|
||||
may not even be accessible in STEP 4 (Slot Reset). Drivers can detect
|
||||
accessibility by checking whether reads from the device return all 1's
|
||||
(PCI_POSSIBLE_ERROR()).
|
||||
|
||||
.. note::
|
||||
|
||||
The following is proposed; no platform implements this yet:
|
||||
|
||||
Reference in New Issue
Block a user