diff options
author | Andrey Smirnov <andrew.smirnov@gmail.com> | 2019-01-17 16:38:19 -0800 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-01-21 10:33:30 +0100 |
commit | c3616911c39b73746f12b6c6bfedecb827426b6c (patch) | |
tree | fcf7a334908532d4fc734167866e02841cdc11da /arch | |
parent | a543f35b69170456221403549c52d721cda6c763 (diff) | |
download | barebox-c3616911c39b73746f12b6c6bfedecb827426b6c.tar.gz barebox-c3616911c39b73746f12b6c6bfedecb827426b6c.tar.xz |
ARM64: mmu: Use arch_remap_range() internally
Instead of calling map_region() explicitly, call arch_regmap_range()
instead to simplify the code. This also ensures that tlb_invalidate()
gets called when dma_free_coherent() is invoked.
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')
-rw-r--r-- | arch/arm/cpu/mmu_64.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/arm/cpu/mmu_64.c b/arch/arm/cpu/mmu_64.c index e2dd5b4d82..cd9b745605 100644 --- a/arch/arm/cpu/mmu_64.c +++ b/arch/arm/cpu/mmu_64.c @@ -261,8 +261,7 @@ void *dma_alloc_coherent(size_t size, dma_addr_t *dma_handle) if (dma_handle) *dma_handle = (dma_addr_t)ret; - map_region((unsigned long)ret, (unsigned long)ret, size, UNCACHED_MEM); - tlb_invalidate(); + arch_remap_range(ret, size, MAP_UNCACHED); return ret; } @@ -270,8 +269,7 @@ void *dma_alloc_coherent(size_t size, dma_addr_t *dma_handle) void dma_free_coherent(void *mem, dma_addr_t dma_handle, size_t size) { size = PAGE_ALIGN(size); - - map_region((unsigned long)mem, (unsigned long)mem, size, CACHED_MEM); + arch_remap_range(mem, size, MAP_CACHED); free(mem); } |