linux/drivers/pci/pcie
Bjorn Helgaas e68d281cee PCI/DPC: Process RP PIO details only if RP PIO extensions supported
The RP PIO registers (status, mask, severity, etc) are only implemented if
the "RP Extensions for DPC" bit is set in the DPC Capabilities register.

Previously we called dpc_process_rp_pio_error(), which reads and decodes
those RP PIO registers, whenever the DPC Status register indicated an "RP
PIO error" (Trigger Reason == 3 and Trigger Reason Extension == 0).

It does seem reasonable to assume that DPC Status would only indicate an RP
PIO error if the RP extensions are supported, but PCIe r4.0, sec 7.9.15.4,
is actually not explicit about that: it does not say "Trigger Reason
Extension == 0 is valid only for Root Ports that support RP Extensions for
DPC."

Check whether the RP Extensions for DPC are supported before trying to read
the RP PIO registers.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Keith Busch <keith.busch@intel.com>
Reviewed-by: Sinan Kaya <okaya@codeaurora.org>
2018-01-30 15:25:39 -06:00
..
aer pci-v4.15-changes 2017-11-15 15:01:28 -08:00
aspm.c pci-v4.15-changes 2017-11-15 15:01:28 -08:00
Kconfig PCI/DPC: Enable DPC only if AER is available 2018-01-26 16:49:40 -06:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pcie-dpc.c PCI/DPC: Process RP PIO details only if RP PIO extensions supported 2018-01-30 15:25:39 -06:00
pme.c PCI/PME: Handle invalid data when reading Root Status 2017-11-07 18:38:47 -06:00
portdrv_acpi.c Merge branches 'pci/dpc', 'pci/resource' and 'pci/thunderbolt' into next 2016-05-03 11:49:21 -05:00
portdrv_bus.c PCI: Fix whitespace, capitalization, and spelling errors 2013-11-14 11:28:18 -07:00
portdrv_core.c PCI/DPC: Enable DPC only if AER is available 2018-01-26 16:49:40 -06:00
portdrv_pci.c pci-v4.15-changes 2017-11-15 15:01:28 -08:00
portdrv.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ptm.c PCI: Add PTM clock granularity information 2016-08-25 08:32:34 -05:00