This series evolved from getting PCIe to work on a RK3568 based board. The device tree PCIe ranges property uses non 1:1 mappings between CPU and PCI bus which this series adds support for. With this series we parse the ranges property into struct resource_entry windows like done in Linux. With this we get pcibios_resource_to_bus() and pcibios_bus_to_resource() to translate between the PCI/CPU address spaces. Additionally we have some cleanup for the pcie-designware driver and we can remove the quirk we already introduced for the rk3588 Rock5b board in which we have overwritten the ranges property.
Sascha Hauer (16): net: phy: realtek: add phy for RTL8168 internal phy pci: add 'self' member to struct pci_bus pci: rename parent_bus to parent add support for resource lists pci: pcie-designware: remove unused variable pci: dwc: Drop support for config space in 'ranges' pci: add pci_controller_init() pci: support non 1:1 mappings pci: pcie-designware: Speed up waiting for link pci: pcie-dw-rockchip: wait for link pci: drop resources from struct pci_bus pci: add of_pci_bridge_init() pci: pcie-designware: drop duplicate resource assigning pci: pcie-designware: remove dra7xx quirks pci: pcie-designware: iterate over windows ARM: dts: rk3588-rock-5b: remove pci ranges quirks arch/arm/dts/rk3588-rock-5b.dts | 15 ----- arch/mips/mach-malta/pci.c | 2 + common/resource.c | 16 +++++ drivers/net/phy/realtek.c | 7 ++ drivers/pci/Makefile | 3 +- drivers/pci/bus.c | 23 +++++++ drivers/pci/host-bridge.c | 76 +++++++++++++++++++++ drivers/pci/of.c | 102 +++++++++++++++++++++++++++++ drivers/pci/pci-ecam-generic.c | 2 + drivers/pci/pci-efi.c | 4 +- drivers/pci/pci-layerscape.c | 2 +- drivers/pci/pci-mvebu.c | 3 + drivers/pci/pci-tegra.c | 4 +- drivers/pci/pci.c | 67 +++++++++++-------- drivers/pci/pcie-designware-host.c | 95 ++++++++------------------- drivers/pci/pcie-designware.c | 8 ++- drivers/pci/pcie-designware.h | 9 --- drivers/pci/pcie-dw-rockchip.c | 2 + include/linux/pci.h | 37 ++++++++++- include/linux/resource_ext.h | 81 +++++++++++++++++++++++ 20 files changed, 426 insertions(+), 132 deletions(-) create mode 100644 drivers/pci/host-bridge.c create mode 100644 drivers/pci/of.c create mode 100644 include/linux/resource_ext.h -- 2.39.2