[source] imx6: disable UART dma

LEDE Commits lede-commits at lists.infradead.org
Wed May 31 00:55:17 PDT 2017


blogic pushed a commit to source.git, branch master:
https://git.lede-project.org/3b4241071dd42e966bc4f120c91b55b4d377865c

commit 3b4241071dd42e966bc4f120c91b55b4d377865c
Author: Koen Vandeputte <koen.vandeputte at ncentric.com>
AuthorDate: Mon May 29 11:58:01 2017 +0200

    imx6: disable UART dma
    
    Fixes these prints on boot:
    
    [   13.785600] imx-uart 2020000.serial: DMA transaction error.
    [   13.793134] imx-uart 2020000.serial: DMA transaction error.
    [   13.798721] imx-uart 2020000.serial: DMA transaction error.
    
    Based on following upstream patch by Tim Harvey (Gateworks):
    
    https://github.com/Gateworks/openwrt/commit/80a01b6582f94c4547f39d3a25e0a1e9b6eb9877
    
    TX complete DMA messages are getting missed.
    This is also currently an issue in mainline.
    For now we will disable DMA in serial/imx.c.
    
    This resolves an issue encountered with RS485 transmit.
    
    Signed-off-by: Koen Vandeputte <koen.vandeputte at ncentric.com>
---
 .../imx6/patches-4.9/210-disable-uart-dma.patch    | 23 ++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/target/linux/imx6/patches-4.9/210-disable-uart-dma.patch b/target/linux/imx6/patches-4.9/210-disable-uart-dma.patch
new file mode 100644
index 0000000..6abbb93
--- /dev/null
+++ b/target/linux/imx6/patches-4.9/210-disable-uart-dma.patch
@@ -0,0 +1,23 @@
+Based on following upstream patch by Tim Harvey (Gateworks):
+
+https://github.com/Gateworks/openwrt/commit/80a01b6582f94c4547f39d3a25e0a1e9b6eb9877
+
+TX complete DMA messages are getting missed.
+This is also currently an issue in mainline.
+For now we will disable DMA in serial/imx.c.
+
+This resolves an issue encountered with RS485 transmit.
+
+--- a/drivers/tty/serial/imx.c
++++ b/drivers/tty/serial/imx.c
+@@ -1268,10 +1268,6 @@ static int imx_startup(struct uart_port
+ 
+ 	writel(temp & ~UCR4_DREN, sport->port.membase + UCR4);
+ 
+-	/* Can we enable the DMA support? */
+-	if (!uart_console(port) && !sport->dma_is_inited)
+-		imx_uart_dma_init(sport);
+-
+ 	spin_lock_irqsave(&sport->port.lock, flags);
+ 	/* Reset fifo's and state machines */
+ 	i = 100;



More information about the lede-commits mailing list