diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2018-03-13 13:09:21 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2018-03-29 08:16:39 +0200 |
commit | b2fd9c9aef0840eda11ba72b3038bf3a85c74a6b (patch) | |
tree | 62abf3dfa712e2167a64967345c2c3a8410fb69c /arch/arm/cpu/mmu.c | |
parent | c8e6603d0c8d0fb39bcb63d01df80494607b5ba3 (diff) | |
download | barebox-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.c | 16 |
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); +} |