diff options
Diffstat (limited to 'arch/arm/cpu/dma_64.c')
-rw-r--r-- | arch/arm/cpu/dma_64.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/arm/cpu/dma_64.c b/arch/arm/cpu/dma_64.c new file mode 100644 index 0000000000..b50572f5e6 --- /dev/null +++ b/arch/arm/cpu/dma_64.c @@ -0,0 +1,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); +} |