On Thursday 27 October 2022 16:10:48 Lorenzo Pieralisi wrote: > 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 this series be rebased please on top of v6.1-rc1 so that we can merge it ? IIRC above two dependent patches still applies on master branch and this patch series applies on above two dependent patches. > Thanks, > 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