aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKoen Vandeputte <koen.vandeputte@ncentric.com>2017-05-29 11:58:01 +0200
committerJohn Crispin <john@phrozen.org>2017-05-31 08:45:26 +0200
commit3b4241071dd42e966bc4f120c91b55b4d377865c (patch)
tree9fac0039cbde7120b3ef385469d324d071c711ad
parentacd8649b18d8946f06b7c5ee863c43db8a65c8d5 (diff)
downloadupstream-3b4241071dd42e966bc4f120c91b55b4d377865c.tar.gz
upstream-3b4241071dd42e966bc4f120c91b55b4d377865c.tar.bz2
upstream-3b4241071dd42e966bc4f120c91b55b4d377865c.zip
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@ncentric.com>
-rw-r--r--target/linux/imx6/patches-4.9/210-disable-uart-dma.patch23
1 files changed, 23 insertions, 0 deletions
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 0000000000..6abbb93301
--- /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;