Re: [PATCH v3 0/7] PCI: mvebu: add support for orion soc

Lorenzo Pieralisi
2022-09-16T12:27:22Z

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@kernel.org/
> https://lore.kernel.org/linux-pci/20220817230036.817-3-pali@kernel.org/

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@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel