Those should only be used internally. All users should rather use the streaming DMA API, which does proper cache maintenance. Signed-off-by: Lucas Stach <dev@xxxxxxxxxx> --- arch/arm/cpu/mmu.c | 35 ++++++++++++++--------------------- arch/arm/include/asm/mmu.h | 14 -------------- 2 files changed, 14 insertions(+), 35 deletions(-) diff --git a/arch/arm/cpu/mmu.c b/arch/arm/cpu/mmu.c index c4ec72d..7076cb5 100644 --- a/arch/arm/cpu/mmu.c +++ b/arch/arm/cpu/mmu.c @@ -159,6 +159,20 @@ static u32 *find_pte(unsigned long adr) return &table[(adr >> PAGE_SHIFT) & 0xff]; } +static void dma_flush_range(unsigned long start, unsigned long end) +{ + if (outer_cache.flush_range) + outer_cache.flush_range(start, end); + __dma_flush_range(start, end); +} + +static void dma_inv_range(unsigned long start, unsigned long end) +{ + if (outer_cache.inv_range) + outer_cache.inv_range(start, end); + __dma_inv_range(start, end); +} + void remap_range(void *_start, size_t size, uint32_t flags) { unsigned long start = (unsigned long)_start; @@ -412,27 +426,6 @@ void dma_free_coherent(void *mem, size_t size) free(mem); } -void dma_clean_range(unsigned long start, unsigned long end) -{ - if (outer_cache.clean_range) - outer_cache.clean_range(start, end); - __dma_clean_range(start, end); -} - -void dma_flush_range(unsigned long start, unsigned long end) -{ - if (outer_cache.flush_range) - outer_cache.flush_range(start, end); - __dma_flush_range(start, end); -} - -void dma_inv_range(unsigned long start, unsigned long end) -{ - if (outer_cache.inv_range) - outer_cache.inv_range(start, end); - __dma_inv_range(start, end); -} - void dma_sync_single_for_cpu(unsigned long address, size_t size, enum dma_data_direction dir) { diff --git a/arch/arm/include/asm/mmu.h b/arch/arm/include/asm/mmu.h index 01c20bd..97bb0db 100644 --- a/arch/arm/include/asm/mmu.h +++ b/arch/arm/include/asm/mmu.h @@ -27,26 +27,12 @@ static inline void setup_dma_coherent(unsigned long offset) } #ifdef CONFIG_MMU -void dma_clean_range(unsigned long, unsigned long); -void dma_flush_range(unsigned long, unsigned long); -void dma_inv_range(unsigned long, unsigned long); void remap_range(void *_start, size_t size, uint32_t flags); void *map_io_sections(unsigned long physaddr, void *start, size_t size); uint32_t mmu_get_pte_cached_flags(void); uint32_t mmu_get_pte_uncached_flags(void); #else -static inline void dma_clean_range(unsigned long s, unsigned long e) -{ -} - -static inline void dma_flush_range(unsigned long s, unsigned long e) -{ -} - -static inline void dma_inv_range(unsigned long s, unsigned long e) -{ -} static inline void remap_range(void *_start, size_t size, uint32_t flags) { -- 2.1.0 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox