On 09/10/2019 15:44, Lukasz Majewski wrote:
Hi Robin,
On 09/10/2019 15:30, Lukasz Majewski wrote:
This change disables the DMA support (RX/TX) on the NXP's fsl_lpuart
driver - the PIO mode is used instead. This change is necessary for
better robustness of BK4's device use cases with many potentially
interrupted short serial transfers.
Without it the driver hangs when some distortion happens on UART
lines.
Signed-off-by: Lukasz Majewski <lukma@xxxxxxx>
---
arch/arm/boot/dts/vf610-bk4.dts | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm/boot/dts/vf610-bk4.dts
b/arch/arm/boot/dts/vf610-bk4.dts index 0f3870d3b099..ad20f3442d40
100644 --- a/arch/arm/boot/dts/vf610-bk4.dts
+++ b/arch/arm/boot/dts/vf610-bk4.dts
@@ -259,24 +259,28 @@
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart0>;
+ dma-names = "","";
This looks like a horrible hack - is there any reason not to just
strip things at compile-time, i.e. "/delete-property/ dmas;"?
I don't want to strip the dma-names property globally. I just want to
adjust this particular driver mode from DMA to PIO.
What do you mean by "globally"? The /delete-property/ operator just
removes a previously-defined property from the node in which it appears.
For my use cases - as written in the commit message - the PIO mode is
more suitable (and reliable).
Right, and having invalid "dma-names" properties for this board is what
happens to trick Linux into not using DMA mode via
of_dma_request_slave_channel() failing, yes? What I'm saying is that if
the underlying justification is that it's not worth using DMA mode at
all on this board, then suppressing the actual "dmas" property it its
DTS such that there's no dependency on a particular driver behaviour is
a lot more robust.
Robin.
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
+ dma-names = "","";
status = "okay";
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart2>;
+ dma-names = "","";
status = "okay";
};
&uart3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart3>;
+ dma-names = "","";
status = "okay";
};
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@xxxxxxx