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

Bjorn Helgaas
2025-03-17T22:13:58Z

On Sat, Mar 15, 2025 at 03:15:35PM -0500, Bjorn Helgaas wrote:
> 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(-)

Applied to pci/controller/dwc-cpu-addr-fixup for v6.15.

Thank you very much, Frank, for all your hard work on driving this
series! I think this is a major improvement.