On 09/03/18 10:06, Koen Vandeputte wrote:
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 ?
Yeah - that's where it's looking...
[ 0.622707] imx-sdma 20ec000.sdma: Direct firmware load for
imx/sdma/sdma-imx6q.bin failed with error -2
[ 0.622724] imx-sdma 20ec000.sdma: Falling back to user helper
But Uwe's the MX6 serial port expert, so this might not make any difference.
Regards,
Ian
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;
--
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