[PATCH v13 0/5] Simplify PCIe native ownership

From: Kuppuswamy Sathyanarayanan
Date: Fri Jan 22 2021 - 20:16:23 EST


Currently, PCIe capabilities ownership status is detected by
verifying the status of pcie_ports_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,
parameter.

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

Changes since v11 (Bjorns update):
* Add bugfix for DPC with no AER Capability
* Split OSC_OWNER trivial changes from pcie_ports_native changes
* Temporarily drop pcie_ports_dpc_native changes (revisit it later).

Changes since v10:
* Addressed format issue reported by lkp test.

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

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.

Bjorn Helgaas (2):
PCI/DPC: Ignore devices with no AER Capability
PCI/ACPI: Centralize pci_aer_available() checking

Kuppuswamy Sathyanarayanan (3):
PCI: Assume control of portdrv-related features only when portdrv
enabled
PCI/ACPI: Tidy _OSC control bit checking
PCI/ACPI: Centralize pcie_ports_native checking

drivers/acpi/pci_root.c | 49 ++++++++++++++++++++++++-------
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_core.c | 11 +++----
drivers/pci/probe.c | 6 ++--
7 files changed, 51 insertions(+), 25 deletions(-)

--
2.25.1