[PATCH v9 0/5] Simplify PCIe native ownership detection logic

From: sathyanarayanan . kuppuswamy
Date: Tue Sep 22 2020 - 16:54:47 EST


From: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx>

Currently, PCIe capabilities ownership status is detected by
verifying the status of pcie_ports_native, pcie_ports_dpc_native
and _OSC negotiated results (cached in struct pci_host_bridge
->native_* members). But this logic can be simplified, and we can
use only struct pci_host_bridge ->native_* members to detect it.

This patchset removes the distributed checks for pcie_ports_native,
pcie_ports_dpc_native parameters.

Changes since v8:
* Simplified setting _OSC ownwership logic
* Moved bridge->native_ltr out of #ifdef CONFIG_PCIEPORTBUS.

Changes since v7:
* Fixed "fix array_size.cocci warnings".

Changes since v6:
* Created new patch for CONFIG_PCIEPORTBUS check in
pci_init_host_bridge().
* Added warning message for a case when pcie_ports_native
overrides _OSC negotiation result.

Changes since v5:
* Rebased on top of v5.8-rc1

Changes since v4:
* Changed the patch set title (Original link: https://lkml.org/lkml/2020/5/26/1710)
* Added AER/DPC dependency logic cleanup fixes.


Kuppuswamy Sathyanarayanan (5):
PCI: Conditionally initialize host bridge native_* members
ACPI/PCI: Ignore _OSC negotiation result if pcie_ports_native is set.
ACPI/PCI: Ignore _OSC DPC negotiation result if pcie_ports_dpc_native
is set.
PCI/portdrv: Remove redundant pci_aer_available() check in DPC enable
logic
PCI/DPC: Move AER/DPC dependency checks out of DPC driver

drivers/acpi/pci_root.c | 37 ++++++++++++++++++++++---------
drivers/pci/hotplug/pciehp_core.c | 2 +-
drivers/pci/pci-acpi.c | 3 ---
drivers/pci/pcie/aer.c | 2 +-
drivers/pci/pcie/dpc.c | 3 ---
drivers/pci/pcie/portdrv.h | 2 --
drivers/pci/pcie/portdrv_core.c | 13 +++++------
drivers/pci/probe.c | 6 +++--
include/linux/acpi.h | 2 ++
include/linux/pci.h | 2 ++
10 files changed, 42 insertions(+), 30 deletions(-)

--
2.17.1