diff options
author | Haavard Skinnemoen <hskinnemoen@atmel.com> | 2007-09-07 16:00:25 +0100 |
---|---|---|
committer | Haavard Skinnemoen <hskinnemoen@atmel.com> | 2007-10-11 12:16:57 +0200 |
commit | b5a8e7362a0a5088ac080086d41cd98a54e0791b (patch) | |
tree | 22c38de4c82f987d42a2abbb90fe7cd30466a7e2 | |
parent | 0d2372e5d61ccc1c618aaf5099700c8dc76e234a (diff) | |
download | op-kernel-dev-b5a8e7362a0a5088ac080086d41cd98a54e0791b.zip op-kernel-dev-b5a8e7362a0a5088ac080086d41cd98a54e0791b.tar.gz |
[AVR32] Make dma_sync_*_for_cpu no-ops
I don't think the dma_sync_*_for_cpu ever did anything useful. We
flush the relevant cache lines when mapping the buffer or when calling
dma_sync_*_for_device(), and the CPU isn't allowed to touch the buffer
after that.
In other words, if these functions actually have anything to flush
from the caches, we're already in trouble.
Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
-rw-r--r-- | include/asm-avr32/dma-mapping.h | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/include/asm-avr32/dma-mapping.h b/include/asm-avr32/dma-mapping.h index 21bb60b..81e3426 100644 --- a/include/asm-avr32/dma-mapping.h +++ b/include/asm-avr32/dma-mapping.h @@ -264,7 +264,11 @@ static inline void dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle, size_t size, enum dma_data_direction direction) { - dma_cache_sync(dev, bus_to_virt(dma_handle), size, direction); + /* + * No need to do anything since the CPU isn't supposed to + * touch this memory after we flushed it at mapping- or + * sync-for-device time. + */ } static inline void @@ -309,12 +313,11 @@ static inline void dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, int nents, enum dma_data_direction direction) { - int i; - - for (i = 0; i < nents; i++) { - dma_cache_sync(dev, page_address(sg[i].page) + sg[i].offset, - sg[i].length, direction); - } + /* + * No need to do anything since the CPU isn't supposed to + * touch this memory after we flushed it at mapping- or + * sync-for-device time. + */ } static inline void |