t113-s3开启多个串口dma问题
-
t113-s3开启一个串口的dma,使用正常。但是开启了2个或以上的串口dma的时候,就会报以下错误
[ 30.010846] sun6i-dma 3002000.dma-controller: Failed to alloc lli memory [ 30.016372] uart uart2: get rx dma descriptor failed! [ 30.046740] sun6i-dma 3002000.dma-controller: Failed to alloc lli memory [ 30.049448] uart uart2: get rx dma descriptor failed! [ 52.331275] sun6i-dma 3002000.dma-controller: Failed to alloc lli memory [ 52.334034] uart uart4: get rx dma descriptor failed! [ 52.339180] sun6i-dma 3002000.dma-controller: Failed to alloc lli memory [ 52.341878] uart uart4: get rx dma descriptor failed!
还有就是不开dma的时候,串口在460800及以上波特率就容易丢包,有oe产生。
请问一下,有谁遇到过这些问题吗?可以怎么解决呢? -
DMA通道不够用了呗
-
@aozima 我在设备树把其它外设的dma关掉了,看了一下,应该是够了的
-
@qinlinbin 我也遇到这个问题了,请问解决了吗?
-
@codedogejack123 没有,只是把DMA_SERIAL_BUFFER_SIZE改成了2k,凑合着使用。假如你有解决方法,麻烦分享一下。
-
@qinlinbin 我用的是longan的SDK,我把Tina SDK里面的sun6i-dma.c里面的内容替换到longan SDK相同文件后就没有这个报错了
-
@qinlinbin 您好,小白想请问一下t113的DMA如何打开以及使用呀
-
-
@ppatb01 在驱动menuconfig中添加UART DMA的驱动
然后设备树里找到&uart的节点下,添加dma的通道信息 -
我也是用longan的SDK,开了3路DMA,但是没有这个报错
可以试试改一下DMA_SERIAL_BUFFER_SIZE大小,或许可以解决
-
@jeper 感谢感谢,那是需要写一些代码来运行吗,还有在打印信息中能否看到相关信息。
-
@ppatb01 系统打印信息可以查看的到初始化成功,或者你可以在命令行dmesg | grep uart
-
@jeper 加上了,请问为啥我这个rx获取失败呀
-
@ppatb01 在驱动drivers/tty/serial/sunxi-uart.c里改一下这个试试
这个应该是全志官方的Bug -
@jeper 可以了,感谢大佬,请问有什么测试代码这类的可以用来测试一下吗
-
@ppatb01我也是用普通串口工具测试的,在驱动里添加打印信息,都能正常打印说明配置OK
-
@jeper 大佬,改了之后现在能看到打印信息,但是打印的时候会卡死在这个位置是为啥呀
-
@ppatb01 这个问题我也没有遇到过
-
@qinlinbin 您好,想请问一下可以分享一下串口DMA的测试程序嘛,十分感谢!
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号