FW: atmel_serial DBGU RX DMA

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

 



Greetings,

While working with an Atmel AT91SAM9G45 microprocessor, I have run into a problem with input overruns during typical console usage of the Debug Unit (DBGU) serial port.  The port, being compatible with the standard Atmel USART, uses the Atmel serial driver (drivers/tty/serial/atmel_serial.c).  The driver has the option of using DMA transfers (in fact, it does so by default on all ports except the DBGU).

Using DMA for receive with DBGU does not work on the mainline driver.  I have determined that this is due to the reliance of the driver on the ATMEL_US_TIMEOUT interrupt to trigger transfers from the RX DMA buffer to the TTY buffer at regular intervals.  The DBGU port hardware does not implement the receiver timeout feature.

I have been able to "force" receive DMA to work by adding a timer callback (similar to the method used by the 8250 driver with devices that do not support interrupts).  This method has relieved the input overrun errors I was getting.

I am curious if this is an acceptable approach and if there are any better alternatives.  I'm still looking into the effect on performance, but so far I haven't seen any significant change from the original driver.

Thanks,
Thomas Walters



Confidentiality Notice
________________________________
 This message is intended exclusively for the individual or entity to which it is addressed. This communication may contain information that is PROPRIETARY, TRADE SECRET, PRIVILEGED, CONFIDENTIAL or otherwise legally exempt from disclosure.

If you are not the named addressee, you are not authorized to read, print, retain, copy or disseminate this message or any part of it. If you have received this message in error, please notify the sender immediately either by phone (864.843.4343) or reply to this e-mail and delete all copies of this message.
________________________________
--
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