linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] ARM: dts: armada-xp-98dx3236: Switch to armada-38x-uart serial node
@ 2019-06-25 22:11 Joshua Scott
  2019-06-27 15:37 ` Gregory CLEMENT
  0 siblings, 1 reply; 2+ messages in thread
From: Joshua Scott @ 2019-06-25 22:11 UTC (permalink / raw)
  To: linux-arm-kernel, Jason Cooper, Andrew Lunn, Gregory Clement,
	Sebastian Hesselbarth
  Cc: Joshua Scott, stable

Switch to the "marvell,armada-38x-uart" driver variant to empty
the UART buffer before writing to the UART_LCR register.

Signed-off-by: Joshua Scott <joshua.scott@alliedtelesis.co.nz>
Tested-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com>.
Cc: stable@vger.kernel.org
Fixes: 43e28ba87708 ("ARM: dts: Use armada-370-xp as a base for armada-xp-98dx3236")

---
Changes in v3:

Updated title, added tested-by, and Fixes tag

Changes in v2:

Andrew Lunn was able to test on a Marvell 370RD reference design, and
the character loss issue did not occur.

The fix has now been changed to only affect the following SOCs:
 * 98DX323x
 * 98DX3333
 * 98DX4251

v1 message:

We have found that like the armada 38x, other Marvell SOCs can lose
characters when the UART_LCR register is written to without first
waiting for the buffer to empty.

We have observed this behaviour on the following Marvell switch SOCs:

 * 98DX323x
 * 98DX3333
 * 98DX4251

However, we do not currently have access to non-switch SOCs which share
the same parent device-tree.

The question we have is, should the fix be applied to the common
armada-370-xp device-tree, or should it be restricted to only affect the
SOCs listed above.

If anybody is able to check, we would like to find out if the issue
affects other armada-xp / armada-370 based SOCs.

The issue can be reproduced, if logging in using the serial port, with:
    resize && echo "hello world"

On affected devices, the first couple letters of "hello world" are
lost. On some SOCs this can be seen at 115200 baud, and on others
we have had to slow down to 9600 to see the issue.

Cheers,
Joshua Scott
---
 arch/arm/boot/dts/armada-xp-98dx3236.dtsi | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm/boot/dts/armada-xp-98dx3236.dtsi b/arch/arm/boot/dts/armada-xp-98dx3236.dtsi
index 59753470cd34..267d0c178e55 100644
--- a/arch/arm/boot/dts/armada-xp-98dx3236.dtsi
+++ b/arch/arm/boot/dts/armada-xp-98dx3236.dtsi
@@ -336,3 +336,11 @@
 	status = "disabled";
 };
 
+&uart0 {
+	compatible = "marvell,armada-38x-uart";
+};
+
+&uart1 {
+	compatible = "marvell,armada-38x-uart";
+};
+
-- 
2.21.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2019-06-27 15:42 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-25 22:11 [PATCH v3] ARM: dts: armada-xp-98dx3236: Switch to armada-38x-uart serial node Joshua Scott
2019-06-27 15:37 ` Gregory CLEMENT

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).