mbox series

[0/6] ARM: dts: pci-mvebu: Fix assigned-addresses for every PCIe Root Port

Message ID 20220817223053.31141-1-pali@kernel.org (mailing list archive)
Headers show
Series ARM: dts: pci-mvebu: Fix assigned-addresses for every PCIe Root Port | expand

Message

Pali Rohár Aug. 17, 2022, 10:30 p.m. UTC
Per IEEE Std 1275-1994 bindings documentation (to which kernel DT
bindings refers), DT property assigned-addresses contains BDF address
of resource. Currently more PCIe Root Port nodes have BDF address in
assigned-addresses which points to different PCIe Root Port nodes. This
obviously does not make sense as the address resource specified in
assigned-addresses of every PCIe Root Port describes address range of
internal registers which are specific for corresponding Marvell PCIe
Root Port. Fix this issue and align all BDF addresses in
assigned-addresses DT property to specify correct BDF address of the
current PCIe Root Port.

Note that current version of pci-mvebu.c controller driver, which
registers Marvell PCIe Root Ports, ignores BDF value in DT property
assigned-addresses. It expects that Root Port's assigned-addresses
contains address range of that root port. That is why driver currently
works without any issue and nobody spotted it. But if driver or
something else would do device tree validation then this issue should be
spotted and throws error. Also device tree files may be used by other
projects where drivers may require correct values.

This patch series aligns BDF address of every Marvell PCIe Root Port in
node name, config space in reg property and mem in assigned-address
property of internal registers resource.

Pali Rohár (6):
  ARM: dts: dove: Fix assigned-addresses for every PCIe Root Port
  ARM: dts: armada-370: Fix assigned-addresses for every PCIe Root Port
  ARM: dts: armada-xp: Fix assigned-addresses for every PCIe Root Port
  ARM: dts: armada-375: Fix assigned-addresses for every PCIe Root Port
  ARM: dts: armada-38x: Fix assigned-addresses for every PCIe Root Port
  ARM: dts: armada-39x: Fix assigned-addresses for every PCIe Root Port

 arch/arm/boot/dts/armada-370.dtsi        |  2 +-
 arch/arm/boot/dts/armada-375.dtsi        |  2 +-
 arch/arm/boot/dts/armada-380.dtsi        |  4 ++--
 arch/arm/boot/dts/armada-385.dtsi        |  6 +++---
 arch/arm/boot/dts/armada-39x.dtsi        |  6 +++---
 arch/arm/boot/dts/armada-xp-mv78230.dtsi |  8 ++++----
 arch/arm/boot/dts/armada-xp-mv78260.dtsi | 16 ++++++++--------
 arch/arm/boot/dts/dove.dtsi              |  2 +-
 8 files changed, 23 insertions(+), 23 deletions(-)

Comments

Pali Rohár Oct. 9, 2022, 11:15 a.m. UTC | #1
Gregory, ping?

On Thursday 18 August 2022 00:30:47 Pali Rohár wrote:
> Per IEEE Std 1275-1994 bindings documentation (to which kernel DT
> bindings refers), DT property assigned-addresses contains BDF address
> of resource. Currently more PCIe Root Port nodes have BDF address in
> assigned-addresses which points to different PCIe Root Port nodes. This
> obviously does not make sense as the address resource specified in
> assigned-addresses of every PCIe Root Port describes address range of
> internal registers which are specific for corresponding Marvell PCIe
> Root Port. Fix this issue and align all BDF addresses in
> assigned-addresses DT property to specify correct BDF address of the
> current PCIe Root Port.
> 
> Note that current version of pci-mvebu.c controller driver, which
> registers Marvell PCIe Root Ports, ignores BDF value in DT property
> assigned-addresses. It expects that Root Port's assigned-addresses
> contains address range of that root port. That is why driver currently
> works without any issue and nobody spotted it. But if driver or
> something else would do device tree validation then this issue should be
> spotted and throws error. Also device tree files may be used by other
> projects where drivers may require correct values.
> 
> This patch series aligns BDF address of every Marvell PCIe Root Port in
> node name, config space in reg property and mem in assigned-address
> property of internal registers resource.
> 
> Pali Rohár (6):
>   ARM: dts: dove: Fix assigned-addresses for every PCIe Root Port
>   ARM: dts: armada-370: Fix assigned-addresses for every PCIe Root Port
>   ARM: dts: armada-xp: Fix assigned-addresses for every PCIe Root Port
>   ARM: dts: armada-375: Fix assigned-addresses for every PCIe Root Port
>   ARM: dts: armada-38x: Fix assigned-addresses for every PCIe Root Port
>   ARM: dts: armada-39x: Fix assigned-addresses for every PCIe Root Port
> 
>  arch/arm/boot/dts/armada-370.dtsi        |  2 +-
>  arch/arm/boot/dts/armada-375.dtsi        |  2 +-
>  arch/arm/boot/dts/armada-380.dtsi        |  4 ++--
>  arch/arm/boot/dts/armada-385.dtsi        |  6 +++---
>  arch/arm/boot/dts/armada-39x.dtsi        |  6 +++---
>  arch/arm/boot/dts/armada-xp-mv78230.dtsi |  8 ++++----
>  arch/arm/boot/dts/armada-xp-mv78260.dtsi | 16 ++++++++--------
>  arch/arm/boot/dts/dove.dtsi              |  2 +-
>  8 files changed, 23 insertions(+), 23 deletions(-)
> 
> -- 
> 2.20.1
>
Pali Rohár Nov. 1, 2022, 10:19 p.m. UTC | #2
ping?

On Sunday 09 October 2022 13:15:29 Pali Rohár wrote:
> Gregory, ping?
> 
> On Thursday 18 August 2022 00:30:47 Pali Rohár wrote:
> > Per IEEE Std 1275-1994 bindings documentation (to which kernel DT
> > bindings refers), DT property assigned-addresses contains BDF address
> > of resource. Currently more PCIe Root Port nodes have BDF address in
> > assigned-addresses which points to different PCIe Root Port nodes. This
> > obviously does not make sense as the address resource specified in
> > assigned-addresses of every PCIe Root Port describes address range of
> > internal registers which are specific for corresponding Marvell PCIe
> > Root Port. Fix this issue and align all BDF addresses in
> > assigned-addresses DT property to specify correct BDF address of the
> > current PCIe Root Port.
> > 
> > Note that current version of pci-mvebu.c controller driver, which
> > registers Marvell PCIe Root Ports, ignores BDF value in DT property
> > assigned-addresses. It expects that Root Port's assigned-addresses
> > contains address range of that root port. That is why driver currently
> > works without any issue and nobody spotted it. But if driver or
> > something else would do device tree validation then this issue should be
> > spotted and throws error. Also device tree files may be used by other
> > projects where drivers may require correct values.
> > 
> > This patch series aligns BDF address of every Marvell PCIe Root Port in
> > node name, config space in reg property and mem in assigned-address
> > property of internal registers resource.
> > 
> > Pali Rohár (6):
> >   ARM: dts: dove: Fix assigned-addresses for every PCIe Root Port
> >   ARM: dts: armada-370: Fix assigned-addresses for every PCIe Root Port
> >   ARM: dts: armada-xp: Fix assigned-addresses for every PCIe Root Port
> >   ARM: dts: armada-375: Fix assigned-addresses for every PCIe Root Port
> >   ARM: dts: armada-38x: Fix assigned-addresses for every PCIe Root Port
> >   ARM: dts: armada-39x: Fix assigned-addresses for every PCIe Root Port
> > 
> >  arch/arm/boot/dts/armada-370.dtsi        |  2 +-
> >  arch/arm/boot/dts/armada-375.dtsi        |  2 +-
> >  arch/arm/boot/dts/armada-380.dtsi        |  4 ++--
> >  arch/arm/boot/dts/armada-385.dtsi        |  6 +++---
> >  arch/arm/boot/dts/armada-39x.dtsi        |  6 +++---
> >  arch/arm/boot/dts/armada-xp-mv78230.dtsi |  8 ++++----
> >  arch/arm/boot/dts/armada-xp-mv78260.dtsi | 16 ++++++++--------
> >  arch/arm/boot/dts/dove.dtsi              |  2 +-
> >  8 files changed, 23 insertions(+), 23 deletions(-)
> > 
> > -- 
> > 2.20.1
> >
Gregory CLEMENT Nov. 27, 2022, 11:56 p.m. UTC | #3
Pali Rohár <pali@kernel.org> writes:

> Per IEEE Std 1275-1994 bindings documentation (to which kernel DT
> bindings refers), DT property assigned-addresses contains BDF address
> of resource. Currently more PCIe Root Port nodes have BDF address in
> assigned-addresses which points to different PCIe Root Port nodes. This
> obviously does not make sense as the address resource specified in
> assigned-addresses of every PCIe Root Port describes address range of
> internal registers which are specific for corresponding Marvell PCIe
> Root Port. Fix this issue and align all BDF addresses in
> assigned-addresses DT property to specify correct BDF address of the
> current PCIe Root Port.
>
> Note that current version of pci-mvebu.c controller driver, which
> registers Marvell PCIe Root Ports, ignores BDF value in DT property
> assigned-addresses. It expects that Root Port's assigned-addresses
> contains address range of that root port. That is why driver currently
> works without any issue and nobody spotted it. But if driver or
> something else would do device tree validation then this issue should be
> spotted and throws error. Also device tree files may be used by other
> projects where drivers may require correct values.
>
> This patch series aligns BDF address of every Marvell PCIe Root Port in
> node name, config space in reg property and mem in assigned-address
> property of internal registers resource.
>
> Pali Rohár (6):
>   ARM: dts: dove: Fix assigned-addresses for every PCIe Root Port
>   ARM: dts: armada-370: Fix assigned-addresses for every PCIe Root Port
>   ARM: dts: armada-xp: Fix assigned-addresses for every PCIe Root Port
>   ARM: dts: armada-375: Fix assigned-addresses for every PCIe Root Port
>   ARM: dts: armada-38x: Fix assigned-addresses for every PCIe Root Port
>   ARM: dts: armada-39x: Fix assigned-addresses for every PCIe Root Port

Series applied on mvebu/dt

Thanks,

Gregory
>
>  arch/arm/boot/dts/armada-370.dtsi        |  2 +-
>  arch/arm/boot/dts/armada-375.dtsi        |  2 +-
>  arch/arm/boot/dts/armada-380.dtsi        |  4 ++--
>  arch/arm/boot/dts/armada-385.dtsi        |  6 +++---
>  arch/arm/boot/dts/armada-39x.dtsi        |  6 +++---
>  arch/arm/boot/dts/armada-xp-mv78230.dtsi |  8 ++++----
>  arch/arm/boot/dts/armada-xp-mv78260.dtsi | 16 ++++++++--------
>  arch/arm/boot/dts/dove.dtsi              |  2 +-
>  8 files changed, 23 insertions(+), 23 deletions(-)
>
> -- 
> 2.20.1
>