]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ARM: l2c: ux500: implement dummy write_sec method
authorRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 16 Mar 2014 19:15:21 +0000 (19:15 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 14 Apr 2014 10:16:30 +0000 (11:16 +0100)
ux500 can't write to any of the secure registers on the L2C controllers,
so provide a dummy handler which ignores all writes.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-ux500/cache-l2x0.c

index 264f894c0e3d228ca62280deb0aaec8b350a2fa1..5cc7e3625d8ccfc568d509137afe2b74bc47008e 100644 (file)
@@ -35,6 +35,14 @@ static int __init ux500_l2x0_unlock(void)
        return 0;
 }
 
+static void ux500_l2c310_write_sec(unsigned long val, unsigned reg)
+{
+       /*
+        * We can't write to secure registers as we are in non-secure
+        * mode, until we have some SMI service available.
+        */
+}
+
 static int __init ux500_l2x0_init(void)
 {
        u32 aux_val = 0x3e000000;
@@ -56,21 +64,14 @@ static int __init ux500_l2x0_init(void)
                /* 64KB way size */
                aux_val |= (0x3 << L2X0_AUX_CTRL_WAY_SIZE_SHIFT);
 
+       outer_cache.write_sec = ux500_l2c310_write_sec;
+
        /* 64KB way size, 8 way associativity, force WA */
        if (of_have_populated_dt())
                l2x0_of_init(aux_val, 0xc0000fff);
        else
                l2x0_init(l2x0_base, aux_val, 0xc0000fff);
 
-       /*
-        * We can't disable l2 as we are in non secure mode, currently
-        * this seems be called only during kexec path. So let's
-        * override outer.disable with nasty assignment until we have
-        * some SMI service available.
-        */
-       outer_cache.disable = NULL;
-       outer_cache.set_debug = NULL;
-
        return 0;
 }