[PATCH] arm: l2c: unlock ways when in non-secure mode

Peng Fan peng.fan at nxp.com
Sun Nov 26 04:25:30 PST 2017


To boot Linux in Non-secure mode with l2x0, the l2x0 controller
is enabled in secure mode and ways locked to make it seems L2 cache
disabled during linux boot process. So during l2x0 initialization,
need to unlock the ways to make l2x0 could cache data/inst.

Signed-off-by: Peng Fan <peng.fan at nxp.com>
Cc: Russell King <linux at armlinux.org.uk>
Cc: Mark Rutland <mark.rutland at arm.com>
Cc: Thomas Gleixner <tglx at linutronix.de>
Cc: Chris Brandt <chris.brandt at renesas.com>
Cc: Will Deacon <will.deacon at arm.com>
---
 arch/arm/mm/cache-l2x0.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/arch/arm/mm/cache-l2x0.c b/arch/arm/mm/cache-l2x0.c
index 808efbb89b88..de8eed0871ec 100644
--- a/arch/arm/mm/cache-l2x0.c
+++ b/arch/arm/mm/cache-l2x0.c
@@ -879,6 +879,10 @@ static int __init __l2c_init(const struct l2c_init_data *data,
 		l2x0_saved_regs.aux_ctrl = aux;
 
 		data->enable(l2x0_base, data->num_lock);
+	} else {
+		pr_info("%s: unlock cache controller\n", data->type);
+
+		data->unlock(l2x0_base, data->num_lock);
 	}
 
 	outer_cache = fns;
-- 
2.14.1




More information about the linux-arm-kernel mailing list