Skip to content

Commit a6378a7

Browse files
committed
Documentation: PCI: Drop recommendation to configure AER Capability
Since f26e58b ("PCI/AER: Enable error reporting when AER is native"), the PCI core enables PCIe device error reporting for all devices during enumeration, so drivers don't need to do it. Remove the recommendation for drivers to configure AER and call pci_enable_pcie_error_reporting() themselves. Also remove the suggestion that drivers may change AER mask and severity registers. Ownership of these registers is negotiated between the OS and platform firmware. If firmware owns these registers, the OS must not change them. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Bjorn Helgaas <[email protected]> Reviewed-by: Dave Jiang <[email protected]> Reviewed-by: Stefan Roese <[email protected]> Reviewed-by: Kuppuswamy Sathyanarayanan <[email protected]>
1 parent ba3da66 commit a6378a7

File tree

1 file changed

+2
-54
lines changed

1 file changed

+2
-54
lines changed

Documentation/PCI/pcieaer-howto.rst

Lines changed: 2 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,8 @@ Documentation/ABI/testing/sysfs-bus-pci-devices-aer_stats
9696
Developer Guide
9797
===============
9898

99-
To enable AER aware support requires a software driver to configure
100-
the AER capability structure within its device and to provide callbacks.
99+
To enable AER aware support requires a software driver to provide
100+
callbacks.
101101

102102
To support AER better, developers need understand how AER does work
103103
firstly.
@@ -135,15 +135,6 @@ hierarchy and links. These errors do not include any device specific
135135
errors because device specific errors will still get sent directly to
136136
the device driver.
137137

138-
Configure the AER capability structure
139-
--------------------------------------
140-
141-
AER aware drivers of PCI Express component need change the device
142-
control registers to enable AER. They also could change AER registers,
143-
including mask and severity registers. Helper function
144-
pci_enable_pcie_error_reporting could be used to enable AER. See
145-
section 3.3.
146-
147138
Provide callbacks
148139
-----------------
149140

@@ -212,31 +203,6 @@ to reset the link. If error_detected returns PCI_ERS_RESULT_CAN_RECOVER
212203
and reset_link returns PCI_ERS_RESULT_RECOVERED, the error handling goes
213204
to mmio_enabled.
214205

215-
helper functions
216-
----------------
217-
::
218-
219-
int pci_enable_pcie_error_reporting(struct pci_dev *dev);
220-
221-
pci_enable_pcie_error_reporting enables the device to send error
222-
messages to root port when an error is detected. Note that devices
223-
don't enable the error reporting by default, so device drivers need
224-
call this function to enable it.
225-
226-
::
227-
228-
int pci_disable_pcie_error_reporting(struct pci_dev *dev);
229-
230-
pci_disable_pcie_error_reporting disables the device to send error
231-
messages to root port when an error is detected.
232-
233-
::
234-
235-
int pci_aer_clear_nonfatal_status(struct pci_dev *dev);`
236-
237-
pci_aer_clear_nonfatal_status clears non-fatal errors in the uncorrectable
238-
error status register.
239-
240206
Frequent Asked Questions
241207
------------------------
242208

@@ -257,24 +223,6 @@ A:
257223
Fatal error recovery will fail if the errors are reported by the
258224
upstream ports who are attached by the service driver.
259225

260-
Q:
261-
How does this infrastructure deal with driver that is not PCI
262-
Express aware?
263-
264-
A:
265-
This infrastructure calls the error callback functions of the
266-
driver when an error happens. But if the driver is not aware of
267-
PCI Express, the device might not report its own errors to root
268-
port.
269-
270-
Q:
271-
What modifications will that driver need to make it compatible
272-
with the PCI Express AER Root driver?
273-
274-
A:
275-
It could call the helper functions to enable AER in devices and
276-
cleanup uncorrectable status register. Pls. refer to section 3.3.
277-
278226

279227
Software error injection
280228
========================

0 commit comments

Comments
 (0)