diff options
| author | Chip Coldwell <[email protected]> | 2008-02-08 04:21:06 -0800 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2008-02-08 09:22:37 -0800 |
| commit | a66706158d6bc4d9eb29c37852001f78f4c8989c (patch) | |
| tree | d2d593dc2902c1db1ea6d0ef417dc3426e0b3bae /tools/perf/scripts/python | |
| parent | 1ecc26bd2789ddb253f61e182a61c776663fe44c (diff) | |
atmel_serial: add DMA support
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 and TX 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.
Similarly, the two TX handlers (ENDTX and TXBUFE) have been combined into one.
Since the current code only uses a single TX buffer, there's no point in
handling those interrupts separately.
This also fixes a DMA sync bug in the original patch.
[[email protected]: rebased onto irq-splitup patch]
[[email protected]: moved to tasklet, fixed dma bug, misc cleanups]
[[email protected]: atmel_serial dma: Misc fixes and cleanups]
Signed-off-by: Remy Bohmer <[email protected]>
Signed-off-by: Haavard Skinnemoen <[email protected]>
Cc: Andrew Victor <[email protected]>
Tested-by: Marc Pignat <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions