linux-rockchip.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/1] arm64: dts: rockchip: rk356x: Fix PCIe register and range mappings
@ 2022-11-12 11:41 Andrew Powers-Holmes
  2022-11-12 11:41 ` [PATCH 1/1] " Andrew Powers-Holmes
  0 siblings, 1 reply; 4+ messages in thread
From: Andrew Powers-Holmes @ 2022-11-12 11:41 UTC (permalink / raw)
  To: linux-rockchip
  Cc: Ondřej Jirman, Rob Herring, Krzysztof Kozlowski,
	Heiko Stuebner, Peter Geis, Frank Wunderlich, Michael Riesch,
	Yifeng Zhao, Sascha Hauer, Nicolas Frattaroli, Chris Morgan,
	Ezequiel Garcia, Robin Murphy, Mark Kettenis, devicetree,
	linux-arm-kernel, linux-kernel

The Rockchip RK356x SoCs currently have incorrect, or at least sub-optimal,`reg`
and `ranges` values in their DTS files' PCIe nodes. Ondřej Jirman sent a patch
in [1] to resolve this, but it was not merged due to some issues discovered
during testing (it fixed his issues with devices behind a switch, but broke
directly connected NVMe drives, amongst others - see [2]).

This patch is a reworked of that patch, using the same mappings the Rockchip BSP
kernel uses. Peter sent these up during the discussion in [3] and they've been
tested on his boards as well as Ondřej's, mine, and those of a few others.

Ondřej also sent a patch in [4] with these fixed ranges, but without the fix
for RK3568 as he was not able to test on that SoC. I've included the fixes for
both SoCs as he's happy with that and the patch has not yet been merged.

I have tested these ranges against devices which only map 32-bit ranges, devices
which only map 64-bit, and devices which require both. An Intel i350-T4 NIC does
not enumerate at all with the existing or previous patch's addresses, but works
quite happily with these, as do NVMe drives and every other device I've been
able to test.

MSI/MSI-X has also been tested as working, but does not currently work upstream
due to a workaround needed in the GIC driver which Rockchip are still yet to
issue an erratum for.

Thanks,
Andrew

[1] https://lore.kernel.org/linux-rockchip/20221005085439.740992-1-megi@xff.cz/
[2] https://lore.kernel.org/linux-rockchip/CAMdYzYq3S2rR3Kb61irpV9xHYijNiJY0mkVnJwPrpXzxg_Zh9g@mail.gmail.com/
[3] https://lore.kernel.org/linux-rockchip/CAMdYzYp6ShLqKxdiAjaRFiRF5i+wzfKiQvwPMzyQLAutWZbApg@mail.gmail.com/
[4] https://lore.kernel.org/all/20221107130157.1425882-1-megi@xff.cz/

Andrew Powers-Holmes (1):
  arm64: dts: rockchip: rk356x: Fix PCIe register and range mappings

 arch/arm64/boot/dts/rockchip/rk3568.dtsi | 14 ++++++++------
 arch/arm64/boot/dts/rockchip/rk356x.dtsi |  7 ++++---
 2 files changed, 12 insertions(+), 9 deletions(-)


base-commit: f0c4d9fc9cc9462659728d168387191387e903cc
--
2.38.0


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-12-05 18:15 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-12 11:41 [PATCH 0/1] arm64: dts: rockchip: rk356x: Fix PCIe register and range mappings Andrew Powers-Holmes
2022-11-12 11:41 ` [PATCH 1/1] " Andrew Powers-Holmes
2022-12-05 16:23   ` Chukun Pan
2022-12-05 18:15     ` Ondřej Jirman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).