arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts | 1 + 1 file changed, 1 insertion(+)
There have been several attempts to set the dma-names property on the
SoC level (in rk356x.dtsi), but that appears to cause problems when set
on channels without flow control.
Quoting part of a previous attempt for clarification:
> Nah, enabling it for bluetooth is fine because you have flow control.
> My issues have been on channels without flow control. Without DMA it
> simply drops messages or the channel hangs until you close and reopen
> it. With DMA, when an overflow locks up the channel it is usually
> unavailable until the board is rebooted.
Setting it on the board level for the bluetooth connection was deemed
safe, so do so for the Quartz64 Model B.
This fixes the following error/warning:
of_dma_request_slave_channel: dma-names property of node
'/serial@fe650000' missing or empty
dw-apb-uart fe650000.serial: failed to request DMA
Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
Link: https://libera.irclog.whitequark.org/armlinux/2024-02-29
Link: https://lore.kernel.org/linux-rockchip/18284546.sWSEgdgrri@diego/
---
arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts
index b908ce006c26..13e599a85eb8 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts
@@ -652,6 +652,7 @@ &tsadc {
};
&uart1 {
+ dma-names = "tx", "rx";
pinctrl-names = "default";
pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>;
status = "okay";
--
2.45.2
On Fri, 28 Jun 2024 14:00:43 +0200, Diederik de Haas wrote:
> There have been several attempts to set the dma-names property on the
> SoC level (in rk356x.dtsi), but that appears to cause problems when set
> on channels without flow control.
>
> Quoting part of a previous attempt for clarification:
>
> > Nah, enabling it for bluetooth is fine because you have flow control.
> > My issues have been on channels without flow control. Without DMA it
> > simply drops messages or the channel hangs until you close and reopen
> > it. With DMA, when an overflow locks up the channel it is usually
> > unavailable until the board is rebooted.
>
> [...]
Applied, thanks!
[1/1] arm64: dts: rockchip: Add dma-names to uart1 on quartz64-b
commit: bf6f26deb0e84089700c1b864f643442e262e16b
Best regards,
--
Heiko Stuebner <heiko@sntech.de>
On 2024-06-28 14:00, Diederik de Haas wrote:
> There have been several attempts to set the dma-names property on the
> SoC level (in rk356x.dtsi), but that appears to cause problems when set
> on channels without flow control.
>
> Quoting part of a previous attempt for clarification:
>
>> Nah, enabling it for bluetooth is fine because you have flow control.
>> My issues have been on channels without flow control. Without DMA it
>> simply drops messages or the channel hangs until you close and reopen
>> it. With DMA, when an overflow locks up the channel it is usually
>> unavailable until the board is rebooted.
>
> Setting it on the board level for the bluetooth connection was deemed
> safe, so do so for the Quartz64 Model B.
>
> This fixes the following error/warning:
>
> of_dma_request_slave_channel: dma-names property of node
> '/serial@fe650000' missing or empty
> dw-apb-uart fe650000.serial: failed to request DMA
>
> Signed-off-by: Diederik de Haas <didi.debian@cknow.org>
> Link: https://libera.irclog.whitequark.org/armlinux/2024-02-29
> Link: https://lore.kernel.org/linux-rockchip/18284546.sWSEgdgrri@diego/
Thanks for this patch, it's looking good to me.
Reviewed-by: Dragan Simic <dsimic@manjaro.org>
> ---
> arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts
> b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts
> index b908ce006c26..13e599a85eb8 100644
> --- a/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts
> +++ b/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts
> @@ -652,6 +652,7 @@ &tsadc {
> };
>
> &uart1 {
> + dma-names = "tx", "rx";
> pinctrl-names = "default";
> pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>;
> status = "okay";
© 2016 - 2025 Red Hat, Inc.