public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/6] atmel_serial: Cleanups, irq handler splitup & DMA
@ 2007-12-19 15:12 Haavard Skinnemoen
  2007-12-19 15:12 ` [PATCH v2 1/6] atmel_serial: Clean up the code Haavard Skinnemoen
                   ` (2 more replies)
  0 siblings, 3 replies; 16+ messages in thread
From: Haavard Skinnemoen @ 2007-12-19 15:12 UTC (permalink / raw)
  To: Andrew Victor
  Cc: Remy Bohmer, linux-arm-kernel, Russell King, linux-kernel, kernel,
	Haavard Skinnemoen

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.

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 |  938 ++++++++++++++++++++++++++++++++---------
 1 files changed, 738 insertions(+), 200 deletions(-)

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2007-12-22 15:57 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-19 15:12 [PATCH v2 0/6] atmel_serial: Cleanups, irq handler splitup & DMA Haavard Skinnemoen
2007-12-19 15:12 ` [PATCH v2 1/6] atmel_serial: Clean up the code Haavard Skinnemoen
2007-12-19 15:12   ` [PATCH v2 2/6] atmel_serial: Use cpu_relax() when busy-waiting Haavard Skinnemoen
2007-12-19 15:12     ` [PATCH v2 3/6] atmel_serial: Use existing console options only if BRG is running Haavard Skinnemoen
2007-12-19 15:12       ` [PATCH v2 4/6] atmel_serial: Fix bugs in probe() error path and remove() Haavard Skinnemoen
2007-12-19 15:12         ` [PATCH v2 5/6] atmel_serial: Split the interrupt handler Haavard Skinnemoen
2007-12-19 15:12           ` [PATCH v2 6/6] atmel_serial: Add DMA support Haavard Skinnemoen
2007-12-19 15:57 ` [PATCH v2 0/6] atmel_serial: Cleanups, irq handler splitup & DMA Remy Bohmer
2007-12-19 16:09   ` Haavard Skinnemoen
2007-12-19 16:40     ` Remy Bohmer
2007-12-19 16:47       ` Haavard Skinnemoen
2007-12-19 16:59         ` Remy Bohmer
2007-12-19 17:19           ` Haavard Skinnemoen
2007-12-19 20:32             ` Remy Bohmer
2007-12-22 15:56               ` Haavard Skinnemoen
2007-12-19 22:13 ` Ulf Samuelsson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox