diff options
author | Koen Vandeputte <koen.vandeputte@ncentric.com> | 2017-05-29 11:58:01 +0200 |
---|---|---|
committer | John Crispin <john@phrozen.org> | 2017-05-31 08:45:26 +0200 |
commit | 3b4241071dd42e966bc4f120c91b55b4d377865c (patch) | |
tree | 9fac0039cbde7120b3ef385469d324d071c711ad | |
parent | acd8649b18d8946f06b7c5ee863c43db8a65c8d5 (diff) | |
download | upstream-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.patch | 23 |
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; |