mmu_status is used in io memcpy functions to prevent accesses to non
8-byte aligned addresses when the mmu is disabled. Though there is a
redundant definition enabled when icaches is turned off by setting
SYS_ICACHE_OFF.

This patch removes the redundant definition, allowing mmu_status to
properly report the status regardless of config settings. This shouldn't
be a problem since access to non 8-byte aligned data can be done
irrespective of icache state.

Fixes: 268f6ac1f95c ("arm64: Update memcpy_{from, to}io() helpers")

Signed-off-by: Anshul Dalal <ansh...@ti.com>
---
 arch/arm/cpu/armv8/cache_v8.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/arch/arm/cpu/armv8/cache_v8.c b/arch/arm/cpu/armv8/cache_v8.c
index 1dcb6007475..74814601483 100644
--- a/arch/arm/cpu/armv8/cache_v8.c
+++ b/arch/arm/cpu/armv8/cache_v8.c
@@ -1184,11 +1184,6 @@ int icache_status(void)
        return (get_sctlr() & CR_I) != 0;
 }
 
-int mmu_status(void)
-{
-       return (get_sctlr() & CR_M) != 0;
-}
-
 void invalidate_icache_all(void)
 {
        __asm_invalidate_icache_all();
@@ -1210,17 +1205,17 @@ int icache_status(void)
        return 0;
 }
 
-int mmu_status(void)
-{
-       return 0;
-}
-
 void invalidate_icache_all(void)
 {
 }
 
 #endif /* !CONFIG_IS_ENABLED(SYS_ICACHE_OFF) */
 
+int mmu_status(void)
+{
+       return (get_sctlr() & CR_M) != 0;
+}
+
 /*
  * Enable dCache & iCache, whether cache is actually enabled
  * depend on CONFIG_SYS_DCACHE_OFF and CONFIG_SYS_ICACHE_OFF
-- 
2.51.0

Reply via email to