/linux-6.14.4/Documentation/PCI/ |
D | pcieaer-howto.rst | 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? 37 The PCIe AER driver provides the infrastructure to support PCIe Advanced 38 Error Reporting capability. The PCIe AER driver provides three basic 45 The AER driver only attaches to Root Ports and RCECs that support the PCIe 46 AER capability. 52 Include the PCIe AER Root Driver into the Linux Kernel 55 The PCIe AER driver is a Root Port service driver attached 60 Load PCIe AER Root Driver [all …]
|
/linux-6.14.4/drivers/pci/pcie/ |
D | aer.c | 3 * Implement the AER root port service driver. The driver registers an IRQ 4 * handler. When a root port triggers an AER interrupt, the IRQ handler 15 #define pr_fmt(fmt) "AER: " fmt 53 /* AER stats for the device */ 57 * Fields for all AER capable devices. They indicate the errors 59 * end point is causing problems, the AER counters may increment 145 int aer = dev->aer_cap; in enable_ecrc_checking() local 148 if (!aer) in enable_ecrc_checking() 151 pci_read_config_dword(dev, aer + PCI_ERR_CAP, ®32); in enable_ecrc_checking() 156 pci_write_config_dword(dev, aer + PCI_ERR_CAP, reg32); in enable_ecrc_checking() [all …]
|
D | Kconfig | 34 (AER) driver support. Error reporting messages sent to Root 35 Port will be handled by PCI Express AER driver. 43 (AER) software error injector. 45 Debugging AER code is quite difficult because it is hard 48 help of a user space helper tool aer-inject, which can be 50 https://github.com/intel/aer-inject.git
|
D | tlp.c | 8 #include <linux/aer.h> 16 * aer_tlp_log_len - Calculate AER Capability TLP Header/Prefix Log length 18 * @aercc: AER Capabilities and Control register value 54 * Fill @log from TLP Header Log registers, e.g., AER or DPC.
|
D | aer_inject.c | 3 * PCIe AER software error injection support. 5 * Debugging PCIe AER code is quite difficult because it is hard to 8 * user space helper tool aer-inject, which can be gotten from: 9 * https://github.com/intel/aer-inject.git 347 pci_err(dev, "Device doesn't support AER\n"); in aer_inject() 358 pci_err(rpdev, "Root port doesn't support AER\n"); in aer_inject() 468 pci_warn(edev->port, "AER service is not initialized\n"); in aer_inject() 476 pci_err(rpdev, "AER device not found\n"); in aer_inject() 547 MODULE_DESCRIPTION("PCIe AER software error injector");
|
D | err.c | 13 #define dev_fmt(fmt) "AER: " fmt 20 #include <linux/aer.h> 169 * pci_walk_bridge - walk bridges potentially AER affected 254 * If we have native control of AER, clear error status in the device in pcie_do_recovery() 255 * that detected the error. If the platform retained control of AER, in pcie_do_recovery()
|
D | portdrv.c | 20 #include <linux/aer.h> 53 * Fill in *pme, *aer, *dpc with the relevant Interrupt Message Numbers if 58 u32 *pme, u32 *aer, u32 *dpc) in pcie_message_numbers() argument 85 *aer = FIELD_GET(PCI_ERR_ROOT_AER_IRQ, reg32); in pcie_message_numbers() 86 nvec = max(nvec, *aer + 1); in pcie_message_numbers() 116 u32 pme = 0, aer = 0, dpc = 0; in pcie_port_enable_irq_vec() local 125 nvec = pcie_message_numbers(dev, mask, &pme, &aer, &dpc); in pcie_port_enable_irq_vec() 161 irqs[PCIE_PORT_SERVICE_AER_SHIFT] = pci_irq_vector(dev, aer); in pcie_port_enable_irq_vec() 263 * permission to use AER. in get_port_device_capability()
|
D | Makefile | 10 obj-$(CONFIG_PCIEAER) += aer.o err.o tlp.o
|
/linux-6.14.4/Documentation/firmware-guide/acpi/apei/ |
D | output_format.rst | 99 <aer status string> 101 aer_layer=<aer layer string>, aer_agent=<aer agent string> 111 <aer status string># := 118 <aer status string># := 124 <aer layer string> := 127 <aer agent string> :=
|
/linux-6.14.4/Documentation/ABI/testing/ |
D | sysfs-bus-pci-devices-aer_stats | 1 PCIe Device AER statistics 4 These attributes show up under all the devices that are AER capable. These 6 Note that this may mean that if an endpoint is causing problems, the AER 93 PCIe Rootport AER statistics 97 collectors) that are AER capable. These indicate the number of error messages as
|
/linux-6.14.4/drivers/firmware/efi/ |
D | cper.c | 22 #include <linux/aer.h> 438 * Print all valid AER info. Record may be from BERT (boot-time) or GHES (run-time). in cper_print_pcie() 440 * Fatal errors call __ghes_panic() before AER handler prints this. in cper_print_pcie() 443 struct aer_capability_regs *aer; in cper_print_pcie() local 445 aer = (struct aer_capability_regs *)pcie->aer_info; in cper_print_pcie() 447 pfx, aer->cor_status, aer->cor_mask); in cper_print_pcie() 449 pfx, aer->uncor_status, aer->uncor_mask); in cper_print_pcie() 451 pfx, aer->uncor_severity); in cper_print_pcie() 453 aer->header_log.dw[0], aer->header_log.dw[1], in cper_print_pcie() 454 aer->header_log.dw[2], aer->header_log.dw[3]); in cper_print_pcie()
|
/linux-6.14.4/Documentation/devicetree/bindings/pci/ |
D | fsl,layerscape-pcie.yaml | 118 - const: aer 146 - const: aer 163 interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>; /* aer interrupt */ 164 interrupt-names = "aer";
|
D | mbvl,gpex40-pcie.yaml | 97 - const: aer 154 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, /* AER interrupt */ 157 interrupt-names = "aer", "pme", "intr";
|
D | baikal,bt1-pcie.yaml | 42 MSI, AER, PME, Hot-plug, Link Bandwidth Management, Link Equalization 57 - const: aer 151 "msi", "aer", "pme", "hp", "bw_mg",
|
/linux-6.14.4/drivers/net/ethernet/ibm/ehea/ |
D | ehea_qmr.c | 210 u64 hret, aer, aerr; in ehea_destroy_cq() local 217 ehea_error_data(cq->adapter, cq->fw_handle, &aer, &aerr); in ehea_destroy_cq() 336 u64 hret, aer, aerr; in ehea_destroy_eq() local 344 ehea_error_data(eq->adapter, eq->fw_handle, &aer, &aerr); in ehea_destroy_eq() 515 u64 hret, aer, aerr; in ehea_destroy_qp() local 523 ehea_error_data(qp->adapter, qp->fw_handle, &aer, &aerr); in ehea_destroy_qp() 959 pr_err("QP (resource=%llX) state: AER=0x%llX, AERR=0x%llX, port=%llX\n", in print_error_data() 962 pr_err("CQ (resource=%llX) state: AER=0x%llX\n", in print_error_data() 965 pr_err("EQ (resource=%llX) state: AER=0x%llX\n", in print_error_data() 972 u64 *aer, u64 *aerr) in ehea_error_data() argument [all …]
|
/linux-6.14.4/include/linux/ |
D | aer.h | 20 * AER and DPC capabilities TLP Logging register sizes (PCIe r6.2, sec 7.8.4 60 struct aer_capability_regs *aer);
|
/linux-6.14.4/drivers/xen/xen-pciback/ |
D | pci_stub.c | 37 /*Add sem for sync AER handling and xen_pcibk remove/reconfigue ops, 38 * We want to avoid in middle of AER ops, xen_pcibk devices is being removed 317 * pcistub and xen_pcibk when AER is in processing in pcistub_put_pci_dev() 742 /*PV AER handlers will set this flag*/ in kill_domain_by_device() 754 /* For each aer recovery step error_detected, mmio_enabled, etc, front_end and 768 /*with PV AER drivers*/ in common_process() 784 /*local flag to mark there's aer request, xen_pcibk callback will use in common_process() 785 * this flag to judge whether we need to check pci-front give aer in common_process() 814 "pcifront aer process not responding!\n"); in common_process() 864 "guest with no AER driver should have been killed\n"); in xen_pcibk_slot_reset() [all …]
|
D | pciback.h | 152 * Add for domain0 PCIE-AER handling. Get guest domain/bus/devfn in xen_pcibk 153 * before sending aer request to pcifront, so that guest could identify 154 * device, coopearte with xen_pcibk to finish aer recovery job if device driver
|
/linux-6.14.4/drivers/pci/ |
D | xen-pcifront.c | 106 dev_dbg(&pdev->xdev->dev, "schedule aer frontend job\n"); in schedule_pcifront_aer_op() 157 * aer pcifront service. in do_pci_op() 162 "schedule aer pcifront service\n"); in do_pci_op() 585 "pcifront AER process: cmd %x (bus:%x, devfn%x)", in pcifront_common_process() 590 dev_err(&pdev->xdev->dev, "device or AER driver is NULL\n"); in pcifront_common_process() 597 pci_dbg(pcidev, "trying to call AER service\n"); in pcifront_common_process() 610 "bad request in aer recovery operation!\n"); in pcifront_common_process() 628 * before service aer op in pcifront_do_aer() 631 "pcifront service aer bus %x devfn %x\n", in pcifront_do_aer() 641 /*in case of we lost an aer request in four lines time_window*/ in pcifront_do_aer() [all …]
|
/linux-6.14.4/drivers/acpi/apei/ |
D | Kconfig | 37 bool "APEI PCIe AER logging/recovering support" 40 PCIe AER errors may be reported via APEI firmware first mode.
|
/linux-6.14.4/drivers/nvme/host/ |
D | trace.h | 115 #define aer_name(aer) { aer, #aer } argument
|
/linux-6.14.4/drivers/nvme/target/ |
D | trace.h | 134 #define aer_name(aer) { aer, #aer } argument
|
/linux-6.14.4/Documentation/translations/zh_CN/PCI/ |
D | pciebus-howto.rst | 42 高级错误报告支持(AER)和虚拟通道支持(VC)。这些服务可以由一个复杂的驱动程序 183 PCI Express电源管理(PME)、高级错误报告(AER)、热插拔(HP)和虚拟通道(VC)的服务
|
/linux-6.14.4/drivers/mmc/host/ |
D | sdhci-pci-gli.c | 610 int aer; in gl9750_hw_setting() local 628 /* mask the replay timer timeout of AER */ in gl9750_hw_setting() 629 aer = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_ERR); in gl9750_hw_setting() 630 if (aer) { in gl9750_hw_setting() 631 pci_read_config_dword(pdev, aer + PCI_ERR_COR_MASK, &value); in gl9750_hw_setting() 633 pci_write_config_dword(pdev, aer + PCI_ERR_COR_MASK, value); in gl9750_hw_setting() 809 int aer; in gl9755_hw_setting() local 843 /* mask the replay timer timeout of AER */ in gl9755_hw_setting() 844 aer = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_ERR); in gl9755_hw_setting() 845 if (aer) { in gl9755_hw_setting() [all …]
|
/linux-6.14.4/drivers/cxl/core/ |
D | pci.c | 9 #include <linux/aer.h> 823 * Copy the AER capability registers using 32 bit read accesses. 824 * This is necessary because RCRB AER capability is MMIO mapped. Clear the 827 * @aer_base: base address of AER capability block in RCRB 828 * @aer_regs: destination for copying AER capability 850 /* Get AER severity. Return false if there is no error. */
|