On Mon, Sep 05, 2022 at 09:23:03PM +0200, Pali Rohár wrote: > Hello! This patch series add support for Orion PCIe controller into > pci-mvebu.c driver. V3 version has completely rewritten pci-mvebu.c code > to parse all physical addresses from device tree files according to > mvebu-pci.txt documentation, allow access to all extended PCIe config > space registers and use modern kernel API pci_remap_cfgspace() and > mvebu_mbus_add_window_by_id() fir mapping PCIe config space. > > Most of Marvell device tree code in pci-mvebu.c is giant magic, but it was > there because this change and it is de-facto API between dts files and > kernel used for a long time. Note that it is misused according to PCI > device tree bindings, but we have to follow this Marvell bindings to do > not introduce backward incompatibility issues for other non-Orion > platforms. > > Mauri tested these changes on DNS323 board with both DT and non-DT builds. > PCIe AER is working too (one of the feature which proved that access to > extended PCIe config registers is working fine). > > After this patch is accepted we are planning to look at existing Orion > arch specific code and covert it to use this new DT based pci-mvebu.c > code. Later this would allow to kill arch specific Orion PCIe code, > which is in arch/arm/plat-orion/pcie.c and parts also in file > arch/arm/mach-orion5x/pci.c (shared with old-PCI bus code). > > This patch series depends on another patches: > https://lore.kernel.org/linux-pci/20220524122817.7199-1-pali@xxxxxxxxxx/ > https://lore.kernel.org/linux-pci/20220817230036.817-3-pali@xxxxxxxxxx/ Can I rebase it on top of v6.0-rc1 ? I will not be able to pull it till -rc7 but I don't think there is a strict dependency so we should try to upstream it this cycle. Lorenzo > > Mauri Sandberg (2): > bus: mvebu-mbus: add configuration space aperture > dt-bindings: PCI: mvebu: Add orion5x compatible > > Pali Rohár (5): > ARM: orion: Move PCIe mbus window mapping from orion5x_setup_wins() to > pcie_setup() > PCI: mvebu: Remove unused busn member > PCI: mvebu: Cleanup error handling in mvebu_pcie_probe() > PCI: mvebu: Add support for Orion PCIe controller > ARM: dts: orion5x: Add PCIe node > > .../devicetree/bindings/pci/mvebu-pci.txt | 4 +- > arch/arm/boot/dts/orion5x.dtsi | 51 +++++ > arch/arm/mach-orion5x/common.c | 13 -- > arch/arm/mach-orion5x/pci.c | 14 ++ > drivers/bus/mvebu-mbus.c | 26 ++- > drivers/pci/controller/Kconfig | 4 +- > drivers/pci/controller/pci-mvebu.c | 202 ++++++++++++++---- > include/linux/mbus.h | 1 + > 8 files changed, 256 insertions(+), 59 deletions(-) > > -- > 2.20.1 > > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel