Re: DMA transaction error on i.mx6

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 2018-03-09 10:30, Ian Arkver wrote:
On 09/03/18 08:28, Koen Vandeputte wrote:
Hi All,

Hopefully I'm on the right list :)


Using a Gateworks Ventana board, powered by an i.MX6 soc, [1]
following errors were notice upon boot:

[ 22.617622] imx-uart 2020000.serial: DMA transaction error.
[ 22.623228] imx-uart 2020000.serial: DMA transaction error.
[ 22.628826] imx-uart 2020000.serial: DMA transaction error.
[ 22.648951] imx-uart 2020000.serial: DMA transaction error.
[ 22.654558] imx-uart 2020000.serial: DMA transaction error.
[ 22.660156] imx-uart 2020000.serial: DMA transaction error.

Kernel: 4.14.20

Within OpenWrt, we are circumventing the errors currently by disabling DMA on UART using the patch from Tim  [2]

Full bootlog attached.
This issue has been present since at least kernel 4.9

It's not critical as uart has been working perfectly fine without DMA, and performance impact was negligible,
but it would still be better to get this fixed :)


Does anyone have any clue what could be causing this?

It's possible this problem would be avoided by using newer mx6 SDMA firmware. You're using the stock ROM firmware:

> [   64.474754] imx-sdma 20ec000.sdma: external firmware not found, using ROM firmware

This was added to linux-firmware [1]. Maybe it's not used in an OpenWrt build?

Regards,
Ian.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=3123d78e09d2f815de4d94aa35c07b3c0469c80e

Hi Ian,

Thanks for the fast reponse!

In order to test this, where should I place the binary so it gets discovered?
/lib/firmware/imx/sdma/sdma-imx6q.bin   ?

Thanks,

Koen

Highly appreciated,

Koen


[1] http://www.gateworks.com/product/item/ventana-gw5200-network-processor
[2]

--- 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;




--
Koen Vandeputte - Software Developer
koen.vandeputte@xxxxxxxxxxxx | +32499736158

--
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux