LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH -mm v4 0/9] atmel_serial cleanups and improvements
@ 2008-01-24 12:41 Haavard Skinnemoen
  2008-01-24 12:41 ` [PATCH -mm v4 1/9] MAINTAINERS: Add myself as maintainer of the atmel_serial driver Haavard Skinnemoen
  2008-01-24 13:32 ` [PATCH -mm v4 0/9] atmel_serial cleanups and improvements Marc Pignat
  0 siblings, 2 replies; 44+ messages in thread
From: Haavard Skinnemoen @ 2008-01-24 12:41 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Andrew Victor, Remy Bohmer, Chip Coldwell, Marc Pignat,
	David Brownell, linux-kernel, Alan Cox

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, and I've also tested it on -mm (with a couple
of avr32 fixes applied to make the rest of the tree compile.)

With DMA, I see transfer rates around 92 kbps when transferring a big
file using ZModem (both directions are roughly the same.) I've also
tested the same thing with a bunch of debug options enabled. The
transfer rate is slightly lower, but no errors are reported.

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.

I think this stuff is ready for -mm now, but I'd like to see a couple
more ACKs from Andrew Victor and other people who may be familiar with
this driver and/or the serial/tty layer in general.

Changes since v3:
  * Added myself to MAINTAINERS
  * Additional cleanups suggested by Andrew Victor
  * Made PDC support configurable through Kconfig
  * Converted lots of potentially unsafe casts to use container_of()
  * Show tty name (not just "atmel_serial") in /proc/interrupts

Chip Coldwell (1):
      atmel_serial: Add DMA support

Haavard Skinnemoen (6):
      MAINTAINERS: Add myself as maintainer of the atmel_serial driver
      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()
      atmel_serial: Use container_of instead of direct cast
      atmel_serial: Show tty name in /proc/interrupts

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

 MAINTAINERS                   |    6 +
 drivers/serial/Kconfig        |   15 +
 drivers/serial/atmel_serial.c |  888 +++++++++++++++++++++++++++++++++--------
 3 files changed, 740 insertions(+), 169 deletions(-)

^ permalink raw reply	[flat|nested] 44+ messages in thread
[parent not found: <20080129224316.GA23155@gandalf.sssup.it>]

end of thread, other threads:[~2008-02-14  7:31 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-01-24 12:41 [PATCH -mm v4 0/9] atmel_serial cleanups and improvements Haavard Skinnemoen
2008-01-24 12:41 ` [PATCH -mm v4 1/9] MAINTAINERS: Add myself as maintainer of the atmel_serial driver Haavard Skinnemoen
2008-01-24 12:41   ` [PATCH -mm v4 2/9] atmel_serial: Clean up the code Haavard Skinnemoen
2008-01-24 12:41     ` [PATCH -mm v4 3/9] atmel_serial: Use cpu_relax() when busy-waiting Haavard Skinnemoen
2008-01-24 12:41       ` [PATCH -mm v4 4/9] atmel_serial: Use existing console options only if BRG is running Haavard Skinnemoen
2008-01-24 12:41         ` [PATCH -mm v4 5/9] atmel_serial: Fix bugs in probe() error path and remove() Haavard Skinnemoen
2008-01-24 12:41           ` [PATCH -mm v4 6/9] atmel_serial: Split the interrupt handler Haavard Skinnemoen
2008-01-24 12:41             ` [PATCH -mm v4 7/9] atmel_serial: Add DMA support Haavard Skinnemoen
2008-01-24 12:41               ` [PATCH -mm v4 8/9] atmel_serial: Use container_of instead of direct cast Haavard Skinnemoen
2008-01-24 12:41                 ` [PATCH -mm v4 9/9] atmel_serial: Show tty name in /proc/interrupts Haavard Skinnemoen
2008-01-27  6:02               ` [PATCH -mm v4 7/9] atmel_serial: Add DMA support Andrew Morton
2008-01-28  9:59                 ` Haavard Skinnemoen
2008-01-28 10:20                   ` Andrew Morton
2008-01-28 11:41                     ` Haavard Skinnemoen
2008-01-28 11:48                       ` [PATCH -mm] atmel_serial dma: Misc fixes and cleanups Haavard Skinnemoen
2008-01-24 13:32 ` [PATCH -mm v4 0/9] atmel_serial cleanups and improvements Marc Pignat
2008-01-24 15:07   ` Haavard Skinnemoen
     [not found] <20080129224316.GA23155@gandalf.sssup.it>
2008-01-29 23:12 ` [PATCH -mm v4 6/9] atmel_serial: Split the interrupt handler michael
2008-01-30  9:41   ` Haavard Skinnemoen
2008-01-30 10:21     ` Remy Bohmer
2008-01-30 10:34       ` Haavard Skinnemoen
2008-01-30 11:05         ` Remy Bohmer
2008-01-30 12:43           ` Haavard Skinnemoen
2008-01-30 15:25           ` michael
2008-01-30 10:29     ` michael
2008-01-30 12:36       ` Haavard Skinnemoen
2008-01-30 15:26         ` michael
2008-01-30 15:46           ` Haavard Skinnemoen
2008-01-31  1:53             ` michael
2008-01-31 15:07               ` Haavard Skinnemoen
2008-01-31 19:36                 ` Remy Bohmer
2008-02-04 12:39                   ` Haavard Skinnemoen
2008-02-04 19:44                     ` Remy Bohmer
2008-02-06 12:19                       ` michael
2008-02-06 19:41                         ` Remy Bohmer
2008-02-13 11:07                           ` michael
2008-02-13 20:13                             ` Remy Bohmer
2008-02-14  7:30                               ` michael
2008-02-04 19:01                 ` michael
2008-02-04 20:25                   ` Haavard Skinnemoen
2008-02-05 12:29                     ` michael
2008-02-06 12:30                       ` Haavard Skinnemoen
2008-02-06 13:41                         ` michael
2008-02-06 15:22                           ` Haavard Skinnemoen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).