summaryrefslogtreecommitdiffstats
path: root/arch/arm/cpu/mmu.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2018-03-13 13:09:21 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2018-03-29 08:16:39 +0200
commitb2fd9c9aef0840eda11ba72b3038bf3a85c74a6b (patch)
tree62abf3dfa712e2167a64967345c2c3a8410fb69c /arch/arm/cpu/mmu.c
parentc8e6603d0c8d0fb39bcb63d01df80494607b5ba3 (diff)
downloadbarebox-b2fd9c9aef0840eda11ba72b3038bf3a85c74a6b.tar.gz
barebox-b2fd9c9aef0840eda11ba72b3038bf3a85c74a6b.tar.xz
ARM: implement dma mapping functions
Implement basic dma mapping functions. For now just assume every address is valid for dma mapping. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/cpu/mmu.c')
-rw-r--r--arch/arm/cpu/mmu.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/cpu/mmu.c b/arch/arm/cpu/mmu.c
index fc71cf03cd..6ccd5893b4 100644
--- a/arch/arm/cpu/mmu.c
+++ b/arch/arm/cpu/mmu.c
@@ -598,3 +598,19 @@ void dma_sync_single_for_device(dma_addr_t address, size_t size,
outer_cache.clean_range(address, address + size);
}
}
+
+dma_addr_t dma_map_single(struct device_d *dev, void *ptr, size_t size,
+ enum dma_data_direction dir)
+{
+ unsigned long addr = (unsigned long)ptr;
+
+ dma_sync_single_for_device(addr, size, dir);
+
+ return addr;
+}
+
+void dma_unmap_single(struct device_d *dev, dma_addr_t addr, size_t size,
+ enum dma_data_direction dir)
+{
+ dma_sync_single_for_cpu(addr, size, dir);
+}