]> git.baikalelectronics.ru Git - kernel.git/commitdiff
PCI/AER: Enable error reporting when AER is native
authorStefan Roese <sr@denx.de>
Tue, 25 Jan 2022 07:18:20 +0000 (08:18 +0100)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 13 Jul 2022 19:44:12 +0000 (14:44 -0500)
If we have native control of AER, set the following error reporting enable
bits:

  - Correctable Error Reporting Enable
  - Non-Fatal Error Reporting Enable
  - Fatal Error Reporting Enable
  - Unsupported Request Reporting Enable

Note that these bits are all in the Device Control register and are not
AER-specific.

This affects all devices with an AER capability, including hot-added
devices.

Please note that this change is quite invasive, as error reporting now will
be enabled for all available PCIe Endpoints, which was previously not the
case.

When "pci=noaer" is selected, error reporting stays disabled of course.

[bhelgaas: commit log, note error reporting is not AER-specific]
Link: https://lore.kernel.org/r/20220125071820.2247260-4-sr@denx.de
Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Pali Rohár <pali@kernel.org>
Cc: Bharat Kumar Gogada <bharat.kumar.gogada@xilinx.com>
Cc: Michal Simek <michal.simek@xilinx.com>
Cc: Yao Hongbo <yaohongbo@linux.alibaba.com>
Cc: Naveen Naidu <naveennaidu479@gmail.com>
drivers/pci/pcie/aer.c

index eb665aca08f2575a8e668648f1889ee24dda644c..8cfdd46b774ed72ed8003b08f527b2d549eec5f8 100644 (file)
@@ -393,6 +393,9 @@ void pci_aer_init(struct pci_dev *dev)
 
        pci_aer_clear_status(dev);
 
+       if (pci_aer_available())
+               pci_enable_pcie_error_reporting(dev);
+
        pcie_set_ecrc_checking(dev);
 }