Lines Matching +full:software +full:- +full:driver

1 .. SPDX-License-Identifier: GPL-2.0
5 The PCI Express Advanced Error Reporting Driver Guide HOWTO
8 :Authors: - T. Long Nguyen <tom.l.nguyen@intel.com>
9 - Yanmin Zhang <yanmin.zhang@intel.com>
17 ----------------
20 Reporting (AER) driver and provides information on how to use it, as
22 the PCIe AER driver.
25 What is the PCIe AER Driver?
26 ----------------------------
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 ----------------
89 --------------
94 type (correctable vs. non-fatal uncorrectable). Fatal errors, including
101 See Documentation/ABI/testing/sysfs-bus-pci-devices-aer.
104 -------------------------
108 Documentation/ABI/testing/sysfs-bus-pci-devices-aer.
113 To enable error recovery, a software driver must provide callbacks.
123 interface. The PCIe protocol can recover without any software
131 errors are further classified into non-fatal errors and fatal errors.
132 Non-fatal errors cause the particular transaction to be unreliable,
150 the device driver.
153 -----------------
155 PCI error-recovery callbacks
158 The PCIe AER Root driver uses error callbacks to coordinate
164 pointers. The AER driver follows the rules defined in
165 pci-error-recovery.rst except PCIe-specific parts (see
166 below). Please refer to pci-error-recovery.rst for detailed
176 software intervention or any loss of data. These errors do not
177 require any recovery actions. The AER driver clears the device's
180 Uncorrectable (non-fatal and fatal) errors
183 The AER driver performs a Secondary Bus Reset to recover from
192 In this case, the AER driver instead applies a Function Level Reset.
194 If an error message indicates a non-fatal error, performing a reset
195 at upstream is not required. The AER driver calls error_detected(dev,
204 A driver may return PCI_ERS_RESULT_CAN_RECOVER,
208 recover without a reset, it is skipped. Should one driver request a reset,
219 In other words, for non-fatal errors, drivers may opt in to a reset.
224 --------------------------
227 What happens if a PCIe device driver does not provide an
228 error recovery handler (pci_driver->err_handler is equal to NULL)?
231 The devices attached with the driver won't be recovered.
236 Software error injection
240 is hard to trigger real hardware errors. Software based error
243 First you should enable PCIe AER software error injection in kernel
251 Then, you need a user space tool named aer-inject, which can be gotten
254 https://github.com/intel/aer-inject.git
256 More information about aer-inject can be found in the document in