[ARM] dma: fix dmabounce dma_sync_xxx() implementations
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Thu, 25 Sep 2008 21:16:22 +0000 (22:16 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 29 Sep 2008 09:40:22 +0000 (10:40 +0100)
The dmabounce dma_sync_xxx() implementation have been broken for
quite some time; they all copy data between the DMA buffer and
the CPU visible buffer no irrespective of the change of ownership.
(IOW, a DMA_FROM_DEVICE mapping copies data from the DMA buffer
to the CPU buffer during a call to dma_sync_single_for_device().)

Fix it by getting rid of sync_single(), moving the contents into
the recently created dmabounce_sync_for_xxx() functions and adjusting
appropriately.

This also makes it possible to properly support the DMA range sync
functions.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

No differences found