diff options
author | Andrey Smirnov <andrew.smirnov@gmail.com> | 2019-01-17 16:38:24 -0800 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-01-21 10:34:06 +0100 |
commit | f6cfdf9288238ce61b9103cbeb9c63275b39b69f (patch) | |
tree | 48592bb9adbd89ec8b3812e432e6cbf37c25fe43 /arch/arm | |
parent | 82ad5896fbbb51593e94b9b891509683acf94341 (diff) | |
download | barebox-f6cfdf9288238ce61b9103cbeb9c63275b39b69f.tar.gz barebox-f6cfdf9288238ce61b9103cbeb9c63275b39b69f.tar.xz |
ARM: mmu: Share code for dma_sync_single_for_cpu()
Both ARM and ARM64 have identical code for
dma_sync_single_for_cpu(). Move it to mmu-common.c so it can be shared.
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/cpu/mmu-common.c | 8 | ||||
-rw-r--r-- | arch/arm/cpu/mmu.c | 7 | ||||
-rw-r--r-- | arch/arm/cpu/mmu_64.c | 7 |
3 files changed, 8 insertions, 14 deletions
diff --git a/arch/arm/cpu/mmu-common.c b/arch/arm/cpu/mmu-common.c index 8c7d614470..a7d3b5b112 100644 --- a/arch/arm/cpu/mmu-common.c +++ b/arch/arm/cpu/mmu-common.c @@ -8,6 +8,14 @@ #include "mmu.h" + +void dma_sync_single_for_cpu(dma_addr_t address, size_t size, + enum dma_data_direction dir) +{ + if (dir != DMA_TO_DEVICE) + dma_inv_range((void *)address, size); +} + dma_addr_t dma_map_single(struct device_d *dev, void *ptr, size_t size, enum dma_data_direction dir) { diff --git a/arch/arm/cpu/mmu.c b/arch/arm/cpu/mmu.c index 35ac00a8ff..97c459ff0c 100644 --- a/arch/arm/cpu/mmu.c +++ b/arch/arm/cpu/mmu.c @@ -506,13 +506,6 @@ void *dma_alloc_writecombine(size_t size, dma_addr_t *dma_handle) return dma_alloc_map(size, dma_handle, ARCH_MAP_WRITECOMBINE); } -void dma_sync_single_for_cpu(dma_addr_t address, size_t size, - enum dma_data_direction dir) -{ - if (dir != DMA_TO_DEVICE) - dma_inv_range((void *)address, size); -} - void dma_sync_single_for_device(dma_addr_t address, size_t size, enum dma_data_direction dir) { diff --git a/arch/arm/cpu/mmu_64.c b/arch/arm/cpu/mmu_64.c index ed4aa00a85..2cb62370e9 100644 --- a/arch/arm/cpu/mmu_64.c +++ b/arch/arm/cpu/mmu_64.c @@ -256,13 +256,6 @@ void dma_inv_range(void *ptr, size_t size) v8_inv_dcache_range(start, end); } -void dma_sync_single_for_cpu(dma_addr_t address, size_t size, - enum dma_data_direction dir) -{ - if (dir != DMA_TO_DEVICE) - v8_inv_dcache_range(address, address + size - 1); -} - void dma_sync_single_for_device(dma_addr_t address, size_t size, enum dma_data_direction dir) { |