I've added a couple of less-than-elegant(TM) patches (aka ugly hacks) to the
omap-serial driver to enable Rx DMA and to handle the Rx DMA complete
callback.
 
If anyone is having problems dropping bytes while receiving high speed (in my
case 1.5Mb/s) UART data, this patch may help.  I'm reluctant to post the
patch (here or upstream) since I think there should be a better/cleaner way to
achieve the same results.
 
Contact me off-list if you think this is of interest to you.
 
Patrick


From: Patrick Maheral (DWI - CA/Ottawa)
Sent: May 31, 2012 09:58
To: 'gumstix-users@lists.sourceforge.net'
Subject: Enabling DMA in omap-serial

My system is having problems keeping up with bursts of data on the serial port
at a baud rate of 1.5Mb/s. These overrun errors are reported at the hardware
level (/proc/tty/driver/OMAP-SERIAL).
 
I've started l poking around in the v3.2 kernel source (from Steve's git repo
rev 33128932803c3f8c35fe8dae257901deb60db2aa), and noticed that there
is support for DMA, but it is not enabled.  I've seen postings that suggest it
can be enabled in platform data, but I don't see how I can do that with the
current source.
 
Does anyone know how to enable DMA in the omap-serial driver without
adding an ugly hack to the kernel source?
 
Patrick