summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukasz Czechowski <lukasz.czechowski@thaumatec.com>2025-01-21 13:56:04 +0100
committerQuentin Schulz <quentin.schulz@cherry.de>2025-03-18 17:53:17 +0100
commitcbd7346f77a7da5753bb62904abb2833d977a5e6 (patch)
tree6286c2bfb339d131dfb69f6dd234f4895b4d7f98
parent232b35da9a023ec8100ab0c04e312493a693cd51 (diff)
BACKPORT: arm64: dts: rockchip: Disable DMA for uart5 on px30-ringneck
commit 5ae4dca718eacd0a56173a687a3736eb7e627c77 upstream. UART controllers without flow control seem to behave unstable in case DMA is enabled. The issues were indicated in the message: https://lore.kernel.org/linux-arm-kernel/CAMdYzYpXtMocCtCpZLU_xuWmOp2Ja_v0Aj0e6YFNRA-yV7u14g@mail.gmail.com/ In case of PX30-uQ7 Ringneck SoM, it was noticed that after couple of hours of UART communication, the CPU stall was occurring, leading to the system becoming unresponsive. After disabling the DMA, extensive UART communication tests for up to two weeks were performed, and no issues were further observed. The flow control pins for uart5 are not available on PX30-uQ7 Ringneck, as configured by pinctrl-0, so the DMA nodes were removed on SoM dtsi. Cc: stable@vger.kernel.org Fixes: c484cf93f61b ("arm64: dts: rockchip: add PX30-µQ7 (Ringneck) SoM with Haikou baseboard") Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Signed-off-by: Lukasz Czechowski <lukasz.czechowski@thaumatec.com> Link: https://lore.kernel.org/r/20250121125604.3115235-3-lukasz.czechowski@thaumatec.com Signed-off-by: Heiko Stuebner <heiko@sntech.de> [ conflict resolution due to missing (cosmetic) backport of 4eee627ea59304cdd66c5d4194ef13486a6c44fc] Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> (cherry picked from commit bcc87e2e01637a90d67c66ce6c2eb28a78bf79f2) [conflict with UART controllers for Eagle in git context] Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de>
-rw-r--r--arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi b/arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi
index 10c85c789566..e9350b9bf534 100644
--- a/arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi
+++ b/arch/arm64/boot/dts/rockchip/px30-ringneck.dtsi
@@ -428,6 +428,11 @@
status = "okay";
};
+&uart5 {
+ /delete-property/ dmas;
+ /delete-property/ dma-names;
+};
+
/* Mule UCAN */
&usb_host0_ehci {
status = "okay";