Lines Matching +full:pcie +full:- +full:attached

1 .. SPDX-License-Identifier: GPL-2.0
8 :Authors: - T. Long Nguyen <[email protected]>
9 - Yanmin Zhang <[email protected]>
17 ----------------
19 This guide describes the basics of the PCI Express (PCIe) Advanced Error
22 the PCIe AER driver.
25 What is the PCIe AER Driver?
26 ----------------------------
28 PCIe error signaling can occur on the PCIe link itself
29 or on behalf of transactions initiated on the link. PCIe
32 required of all PCIe components providing a minimum defined
34 capability is implemented with a PCIe Advanced Error Reporting
37 The PCIe AER driver provides the infrastructure to support PCIe Advanced
38 Error Reporting capability. The PCIe AER driver provides three basic
41 - Gathers the comprehensive error information if errors occurred.
42 - Reports error to the users.
43 - Performs error recovery actions.
45 The AER driver only attaches to Root Ports and RCECs that support the PCIe
52 Include the PCIe AER Root Driver into the Linux Kernel
53 ------------------------------------------------------
55 The PCIe AER driver is a Root Port service driver attached
56 via the PCIe Port Bus driver. If a user wants to use it, the driver
60 Load PCIe AER Root Driver
61 -------------------------
70 ----------------
72 When a PCIe AER error is captured, an error message will be output to
79 …0000:50:00.0: PCIe Bus Error: severity=Uncorrected (Fatal), type=Transaction Layer, id=0500(Reques…
85 the error message to the Root Port. Please refer to PCIe specs for other
89 -------------------------
91 When PCIe AER errors are captured, the counters / statistics are also exposed
93 Documentation/ABI/testing/sysfs-bus-pci-devices-aer_stats
102 PCIe errors are classified into two types: correctable errors
108 interface. The PCIe protocol can recover without any software
114 can cause a particular transaction or a particular PCIe link
116 errors are further classified into non-fatal errors and fatal errors.
117 Non-fatal errors cause the particular transaction to be unreliable,
118 but the PCIe link itself is fully functional. Fatal errors, on
121 When PCIe error reporting is enabled, a device will automatically send an
132 Note that the errors as described above are related to the PCIe
138 -----------------
140 callback reset_link to reset PCIe link
143 This callback is used to reset the PCIe physical link when a
146 have different specifications to reset the PCIe link, so
152 PCI error-recovery callbacks
155 The PCIe AER Root driver uses error callbacks to coordinate
162 pci-error-recovery.rst except PCIe-specific parts (e.g.
163 reset_link). Please refer to pci-error-recovery.rst for detailed
172 the interface. The PCIe protocol can recover without any
177 Non-correctable (non-fatal and fatal) errors
180 If an error message indicates a non-fatal error, performing link reset
206 ------------------------
209 What happens if a PCIe device driver does not provide an
210 error recovery handler (pci_driver->err_handler is equal to NULL)?
213 The devices attached with the driver won't be recovered. If the
223 upstream ports who are attached by the service driver.
229 Debugging PCIe AER error recovery code is quite difficult because it
231 injection can be used to fake various kinds of PCIe errors.
233 First you should enable PCIe AER software error injection in kernel
241 Then, you need a user space tool named aer-inject, which can be gotten
244 https://github.com/intel/aer-inject.git
246 More information about aer-inject can be found in the document in