Re: [PATCH 5/5] atmel_serial: Add DMA support

From: Chip Coldwell
Date: Tue Dec 18 2007 - 13:22:04 EST


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Tue, 18 Dec 2007, Haavard Skinnemoen wrote:

> From: Chip Coldwell <hskinnemoen@xxxxxxxxx>
>
> This patch is based on the DMA-patch by Chip Coldwell for the
> AT91/AT32 serial USARTS, with some tweaks to make it apply neatly on
> top of the other patches in this series.
>
> The RX code has been moved to a tasklet and reworked a bit. Instead of
> depending on the ENDRX and TIMEOUT bits in CSR, we simply grab as much
> data as we can from the DMA buffers. I think this closes a race where
> the ENDRX bit is set after we read CSR but before we read RPR,
> although I haven't confirmed this.
>
> This also fixes a DMA sync bug in the original patch.
>
> [linux@xxxxxxxxxx: rebased onto irq-splitup patch]
> [hskinnemoen@xxxxxxxxx: moved to tasklet, fixed dma bug, misc cleanups]
> Signed-off-by: Remy Bohmer <linux@xxxxxxxxxx>
> Signed-off-by: Haavard Skinnemoen <hskinnemoen@xxxxxxxxx>
> ---
> drivers/serial/atmel_serial.c | 386 ++++++++++++++++++++++++++++++++++++++--
> 1 files changed, 366 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c
> index 990d3ab..07c2734 100644
> --- a/drivers/serial/atmel_serial.c
> +++ b/drivers/serial/atmel_serial.c
> @@ -7,6 +7,8 @@
> * Based on drivers/char/serial_sa1100.c, by Deep Blue Solutions Ltd.
> * Based on drivers/char/serial.c, by Linus Torvalds, Theodore Ts'o.
> *
> + * DMA support added by Chip Coldwell.

I will ACK/Sign-off on this soon; I just want to do some tests on real
hardware first.

Chip

- --
Charles M. Coldwell
"Turn on, log in, tune out"
Somerville, Massachusetts, New England
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)

iD8DBQFHaA7cr6maj4UuBS8RAjMSAJsGcKoFKCP/R3aAPhW5hj+v3Qt6ZACgshsF
5NP6/9+NbhDAxBC/7jo8J0Y=
=hx4t
-----END PGP SIGNATURE-----
--
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/