[BUG] at91: serial: is it using DMA?

Jiří Prchal jiri.prchal at aksignal.cz
Wed May 20 06:26:17 PDT 2015


Hi all,
I discovered problem with serial driver in kernel 4.0.4 on at91sam9g25 at 400MHz.
When I want receive frames on UART at 115200kb/s I get many errors caused by loss of some bytes.
These errors were there if no DMA was used in previous version.
Dmesg says DMA us used:
[    0.000000] Linux version 4.0.4_cpm9g25 (prchal at prchal) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1) ) #5 
PREEMPT Wed May 20 12:19:37 CEST 2015
...
[   16.090090] atmel_usart f801c000.serial: using dma0chan4 for rx DMA transfers
[   16.105105] atmel_usart f801c000.serial: using dma0chan5 for tx DMA transfers

In 3.18.13 it works properly and dmesg says the same:
[    0.000000] Linux version 3.18.13_cpm9g25 (prchal at prchal) (gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1) ) #3 
PREEMPT Wed May 20 14:29:26 CEST 2015
...
[   14.936936] atmel_usart f801c000.serial: using dma0chan4 for rx DMA transfers
[   14.954954] atmel_usart f801c000.serial: using dma0chan5 for tx DMA transfers

I made diff of drivers/tty/serial/atmel_serial.c and I see many changes in function atmel_rx_from_dma witch I don't 
understand. Could it bee there?
All other DMAs work fine.

Jiri



More information about the linux-arm-kernel mailing list