summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHaavard Skinnemoen <hskinnemoen@atmel.com>2007-09-07 16:00:25 +0100
committerHaavard Skinnemoen <hskinnemoen@atmel.com>2007-10-11 12:16:57 +0200
commitb5a8e7362a0a5088ac080086d41cd98a54e0791b (patch)
tree22c38de4c82f987d42a2abbb90fe7cd30466a7e2
parent0d2372e5d61ccc1c618aaf5099700c8dc76e234a (diff)
downloadop-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.h17
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
OpenPOWER on IntegriCloud