[PATCH v3 0/6] atmel_serial: Cleanups, irq handler splitup & DMA

From: Haavard Skinnemoen
Date: Tue Jan 22 2008 - 09:53:45 EST


The following patchset cleans up the atmel_serial driver a bit,
moves a significant portion of the interrupt handler into a tasklet,
and adds DMA support. This is the result of a combined effort by Chip
Coldwell, Remy Bohmer and me. The patches should apply cleanly onto
Linus' latest git tree.

With DMA, I see transfer rates around 92 kbps when transferring a big
file using ZModem (both directions are roughly the same.)

Note that break and error handling doesn't work too well with DMA
enabled. This is a common problem with all the efforts I've seen
adding DMA support to this driver (including my own). The PDC error
handling also accesses icount without locking. I'm tempted to just
ignore the problem for now and hopefully come up with a solution
later.

The following changes have been made since v2 of this patchset:
* Drop the lock before calling tty_flip_buffer_push()
* Revert the UART_{PUT,GET} macro cleanups since Andrew didn't seem
to like them.

Everyone, please give it a try and/or review the code.

Chip Coldwell (1):
atmel_serial: Add DMA support

Haavard Skinnemoen (3):
atmel_serial: Use cpu_relax() when busy-waiting
atmel_serial: Use existing console options only if BRG is running
atmel_serial: Fix bugs in probe() error path and remove()

Remy Bohmer (2):
atmel_serial: Clean up the code
atmel_serial: Split the interrupt handler

drivers/serial/atmel_serial.c | 897 +++++++++++++++++++++++++++++++++--------
1 files changed, 722 insertions(+), 175 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/