Message ID | 20220905192310.22786-1-pali@kernel.org |
---|---|
Headers | show |
Series | PCI: mvebu: add support for orion soc | expand |
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
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 this series be rebased please on top of v6.1-rc1 so that we can merge it ? 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@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
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@kernel.org/ > > https://lore.kernel.org/linux-pci/20220817230036.817-3-pali@kernel.org/ > > 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@lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
On Mon, Nov 07, 2022 at 12:28:24AM +0100, Pali Rohár wrote: > 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@kernel.org/ > > > https://lore.kernel.org/linux-pci/20220817230036.817-3-pali@kernel.org/ > > > > 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. Which I can't merge for reasons you are aware of already. So, does this series _really_ depend on the two patches above ? I don't think so but let me ask again. Lorenzo > > 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@lists.infradead.org > > > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
On Friday 11 November 2022 13:49:57 Lorenzo Pieralisi wrote: > On Mon, Nov 07, 2022 at 12:28:24AM +0100, Pali Rohár wrote: > > 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@kernel.org/ > > > > https://lore.kernel.org/linux-pci/20220817230036.817-3-pali@kernel.org/ > > > > > > 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. > > Which I can't merge for reasons you are aware of already. > > So, does this series _really_ depend on the two patches above ? > > I don't think so but let me ask again. > > Lorenzo Yes, this patch series depends on above tow patches. Kirkwood and older platforms (including the oldest one Orion) needs fixes for registering and handling of shared interrupts. > > > 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@lists.infradead.org > > > > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel > > > > _______________________________________________ > > linux-arm-kernel mailing list > > linux-arm-kernel@lists.infradead.org > > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel