summaryrefslogtreecommitdiffstats
path: root/arch/arm/cpu/dma_64.c
blob: b50572f5e6017104d4a9aa1dc74870400630cbae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <dma.h>
#include <asm/mmu.h>
#include <asm/cache.h>

void arch_sync_dma_for_device(void *vaddr, size_t size,
                              enum dma_data_direction dir)
{
	unsigned long start = (unsigned long)vaddr;
	unsigned long end = start + size;

	if (dir == DMA_FROM_DEVICE)
		v8_inv_dcache_range(start, end);
	else
		v8_flush_dcache_range(start, end);
}