summaryrefslogtreecommitdiffstats
path: root/arch/arm/cpu/mmu.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2018-03-08 10:27:51 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2018-03-21 12:23:02 +0100
commitbcc161d7dcdfbd09fdf15d78e11f09e13b9d27a8 (patch)
tree29a750e70981677ce6ea9be651e80e49c4d36125 /arch/arm/cpu/mmu.c
parentced9a7171e0904b788f4546456431f886753726c (diff)
downloadbarebox-bcc161d7dcdfbd09fdf15d78e11f09e13b9d27a8.tar.gz
barebox-bcc161d7dcdfbd09fdf15d78e11f09e13b9d27a8.tar.xz
ARM: Move mmu_disable to mmu.c
mmu_64 has mmu_disable() in mmu_64.c. Move to mmu.c for the 32bit case aswell to be consistent. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/cpu/mmu.c')
-rw-r--r--arch/arm/cpu/mmu.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/cpu/mmu.c b/arch/arm/cpu/mmu.c
index 2c16579d79..27d994d452 100644
--- a/arch/arm/cpu/mmu.c
+++ b/arch/arm/cpu/mmu.c
@@ -511,6 +511,19 @@ static int mmu_init(void)
}
mmu_initcall(mmu_init);
+/*
+ * Clean and invalide caches, disable MMU
+ */
+void mmu_disable(void)
+{
+ __mmu_cache_flush();
+ if (outer_cache.disable) {
+ outer_cache.flush_all();
+ outer_cache.disable();
+ }
+ __mmu_cache_off();
+}
+
void *dma_alloc_coherent(size_t size, dma_addr_t *dma_handle)
{
void *ret;