Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b5a8e736 authored by Haavard Skinnemoen's avatar Haavard Skinnemoen
Browse files

[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: default avatarHaavard Skinnemoen <hskinnemoen@atmel.com>
parent 0d2372e5
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -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