[PATCH v12 00/13] PCI: Use device bus range info to cleanup RC Host/EP pci_fixup_addr()

Bjorn Helgaas
2025-03-15T20:18:36Z

From: Bjorn Helgaas <bhelgaas@google.com>

This is a v12 based on Frank's v11 series.

v11 https://lore.kernel.org/r/20250313-pci_fixup_addr-v11-0-01d2313502ab@nxp.com

Changes from v11:
- Call devm_pci_alloc_host_bridge() early in dw_pcie_host_init(), before
any devicetree-related code
- Call devm_pci_epc_create() early in dw_pcie_ep_init(), before any
devicetree-related code
- Consolidate devicetree-related code in dw_pcie_host_get_resources() and
dw_pcie_ep_get_resources()
- Integrate dw_pcie_cfg0_setup() into dw_pcie_host_get_resources()
- Convert dw_pcie_init_parent_bus_offset() to dw_pcie_parent_bus_offset()
which returns the offset rather than setting it internally
- Split the debug comparison of devicetree info with .cpu_addr_fixup() to
separate patch so we can easily revert it later
- Drop "cpu_addr_fixup() usage detected" warning since we always warn
about something in that case anyway

Any comments welcome.

Bjorn Helgaas (3):
PCI: dwc: Consolidate devicetree handling in
dw_pcie_host_get_resources()
PCI: dwc: ep: Call epc_create() early in dw_pcie_ep_init()
PCI: dwc: ep: Consolidate devicetree handling in
dw_pcie_ep_get_resources()

Frank Li (10):
PCI: dwc: Use resource start as iomap() input in
dw_pcie_pme_turn_off()
PCI: dwc: Rename cpu_addr to parent_bus_addr for ATU configuration
PCI: dwc: Call devm_pci_alloc_host_bridge() early in
dw_pcie_host_init()
PCI: dwc: Add dw_pcie_parent_bus_offset()
PCI: dwc: Add dw_pcie_parent_bus_offset() checking and debug
PCI: dwc: Use devicetree 'reg[config]' to derive CPU -> ATU addr
offset
PCI: dwc: ep: Use devicetree 'reg[addr_space]' to derive CPU -> ATU
addr offset
PCI: dwc: ep: Ensure proper iteration over outbound map windows
PCI: dwc: Use parent_bus_offset to remove need for .cpu_addr_fixup()
PCI: imx6: Remove cpu_addr_fixup()

drivers/pci/controller/dwc/pci-imx6.c | 18 +---
.../pci/controller/dwc/pcie-designware-ep.c | 74 +++++++++++------
.../pci/controller/dwc/pcie-designware-host.c | 57 ++++++++-----
drivers/pci/controller/dwc/pcie-designware.c | 82 ++++++++++++++-----
drivers/pci/controller/dwc/pcie-designware.h | 24 +++++-
5 files changed, 171 insertions(+), 84 deletions(-)

--
2.34.1