aboutsummaryrefslogtreecommitdiff
path: root/net/core
diff options
context:
space:
mode:
authorSilvester Erdeg <slipszi@gmail.com>2008-02-06 01:38:12 -0800
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-02-06 10:41:10 -0800
commit154443c72f47169ebcb3a7befbff0e934c49bff3 (patch)
treec0567d5aa3c46ce4056da07ddacead626f933c73 /net/core
parent1eed29df472a33bba013d5a2ea2f9e32f4414397 (diff)
atmel_spi: chain DMA transfers
Add support for chained transfers in the atmel_spi driver, letting the DMA controller switch to the next buffer pair without CPU intervention. This reduced I/O latencies by about 2% in one bulk I/O test. It should also help work around several interrelated errata affecting chipselect 0 on at91rm9200 chips. Almost all of the changes are in the reworked atmel_spi_next_xfer() function. That's now called with the driver in one of three states: 1. It isn't transferring anything (in which case the first transfer of the current message is going to be sent) 2. It has finished transfering a non-chainable transfer (in which case it will go to the next transfer in the message) 3. It has finished transfering a chained transfer (in which case the next transfer is already queued) After that it will queue the next transfer if it can be chained. Signed-off-by: Szilveszter Ordog <slipszi@gmail.com> Acked-by: Haavard Skinnemoen <hskinnemoen@atmel.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'net/core')
0 files changed, 0 insertions, 0 deletions