mbox series

[v11,0/5] Simplify PCIe native ownership detection logic

Message ID cover.1603766889.git.sathyanarayanan.kuppuswamy@linux.intel.com (mailing list archive)
Headers show
Series Simplify PCIe native ownership detection logic | expand

Message

Kuppuswamy Sathyanarayanan Oct. 27, 2020, 2:57 a.m. UTC
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 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.
 

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           | 39 +++++++++++++++++++++++--------
 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, 44 insertions(+), 30 deletions(-)

Comments

Kuppuswamy Sathyanarayanan Nov. 13, 2020, 9:59 p.m. UTC | #1
Hi Bjorn,

On 10/26/20 7:57 PM, Kuppuswamy Sathyanarayanan wrote:
> 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.
Any comments on this series?
> 
> 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.
>   
> 
> 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           | 39 +++++++++++++++++++++++--------
>   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, 44 insertions(+), 30 deletions(-)
>