diff --git a/arch/arm/cpu/mmu.c b/arch/arm/cpu/mmu.c index 81c2394..784221c 100644 --- a/arch/arm/cpu/mmu.c +++ b/arch/arm/cpu/mmu.c @@ -163,23 +163,11 @@ __dma_inv_range(start, end); } -int arch_remap_range(void *_start, size_t size, unsigned flags) +static int __remap_range(void *_start, size_t size, u32 pte_flags) { unsigned long start = (unsigned long)_start; u32 *p; int numentries, i; - u32 pte_flags; - - switch (flags) { - case MAP_CACHED: - pte_flags = pte_flags_cached; - break; - case MAP_UNCACHED: - pte_flags = pte_flags_uncached; - break; - default: - return -EINVAL; - } numentries = size >> PAGE_SHIFT; p = find_pte(start); @@ -197,6 +185,24 @@ return 0; } +int arch_remap_range(void *start, size_t size, unsigned flags) +{ + u32 pte_flags; + + switch (flags) { + case MAP_CACHED: + pte_flags = pte_flags_cached; + break; + case MAP_UNCACHED: + pte_flags = pte_flags_uncached; + break; + default: + return -EINVAL; + } + + return __remap_range(start, size, pte_flags); +} + void *map_io_sections(unsigned long phys, void *_start, size_t size) { unsigned long start = (unsigned long)_start, sec; @@ -412,7 +418,7 @@ dma_inv_range((unsigned long)ret, (unsigned long)ret + size); - remap_range(ret, size, pte_flags_uncached); + __remap_range(ret, size, pte_flags_uncached); return ret; } @@ -428,7 +434,7 @@ dma_inv_range((unsigned long)ret, (unsigned long)ret + size); - remap_range(ret, size, pte_flags_wc); + __remap_range(ret, size, pte_flags_wc); return ret; } @@ -446,7 +452,7 @@ void dma_free_coherent(void *mem, dma_addr_t dma_handle, size_t size) { size = PAGE_ALIGN(size); - remap_range(mem, size, pte_flags_cached); + __remap_range(mem, size, pte_flags_cached); free(mem); }