Hi Bjorn, On 1/22/21 5:11 PM, Kuppuswamy Sathyanarayanan wrote:
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.
Any comments on this patch set?
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(-)
-- Sathyanarayanan Kuppuswamy Linux Kernel Developer