ARM: l2c: remove platforms/SoCs setting early BRESP
authorRussell King <rmk+kernel@arm.linux.org.uk>
Wed, 19 Mar 2014 12:44:41 +0000 (12:44 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 29 May 2014 23:48:51 +0000 (00:48 +0100)
Since we now automatically enable early BRESP in core L2C-310 code when
we detect a Cortex-A9, we don't need platforms/SoCs to set this bit
explicitly.  Instead, they should seek to preserve the value of bit 30
in the auxiliary control register.

Acked-by: Tony Lindgren <tony@atomide.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-berlin/berlin.c
arch/arm/mach-exynos/exynos.c
arch/arm/mach-omap2/omap4-common.c
arch/arm/mach-shmobile/board-armadillo800eva-reference.c
arch/arm/mach-shmobile/board-armadillo800eva.c
arch/arm/mach-shmobile/board-kzm9g-reference.c
arch/arm/mach-shmobile/board-kzm9g.c
arch/arm/mach-shmobile/setup-r8a7778.c
arch/arm/mach-shmobile/setup-r8a7779.c
arch/arm/mach-spear/spear13xx.c
arch/arm/mach-tegra/tegra.c

index 025bcb5473eb56748b5a7f906b47db755c32e3c2..6709d2a6bec8911ce6993a953931bf78ca7c3ac2 100644 (file)
@@ -24,7 +24,7 @@ static void __init berlin_init_machine(void)
         * with DT probing for L2CCs, berlin_init_machine can be removed.
         * Note: 88DE3005 (Armada 1500-mini) uses pl310 l2cc
         */
-       l2x0_of_init(0x70c00000, 0xfeffffff);
+       l2x0_of_init(0x30c00000, 0xfeffffff);
        of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
index b32a907d021d4a2b5a809a22899cb237464d0d57..e6828fb46034732b07e6e5d3ed8c968d146793db 100644 (file)
@@ -32,8 +32,8 @@
 #include "mfc.h"
 #include "regs-pmu.h"
 
-#define L2_AUX_VAL 0x7C470001
-#define L2_AUX_MASK 0xC200ffff
+#define L2_AUX_VAL 0x3c470001
+#define L2_AUX_MASK 0xc200ffff
 
 static struct map_desc exynos4_iodesc[] __initdata = {
        {
index 1dfb806da33e0ef42a1f7b7972045686d785f097..fb149b03d56dd9ceabed00fd541cfdcd00823947 100644 (file)
@@ -204,8 +204,7 @@ static int __init omap_l2_cache_init(void)
                   L2C_AUX_CTRL_WAY_SIZE(3) |
                   L2C_AUX_CTRL_SHARED_OVERRIDE |
                   L310_AUX_CTRL_DATA_PREFETCH |
-                  L310_AUX_CTRL_INSTR_PREFETCH |
-                  L310_AUX_CTRL_EARLY_BRESP;
+                  L310_AUX_CTRL_INSTR_PREFETCH;
 
        omap_smc1(0x109, aux_ctrl);
 
index 57d1a78367b6aa17accfddc013132b8328d9b5f5..34e7f3c17dd2ea014fae4c2e0f5d7a8a09f1a2c8 100644 (file)
@@ -164,8 +164,8 @@ static void __init eva_init(void)
        r8a7740_meram_workaround();
 
 #ifdef CONFIG_CACHE_L2X0
-       /* Early BRESP enable, Shared attribute override enable, 32K*8way */
-       l2x0_init(IOMEM(0xf0002000), 0x40440000, 0x82000fff);
+       /* Shared attribute override enable, 32K*8way */
+       l2x0_init(IOMEM(0xf0002000), 0x00440000, 0xc2000fff);
 #endif
 
        r8a7740_add_standard_devices_dt();
index 486063db2a2ffd501ca67cf7d62f0e0750464010..a01f867227ac221955de8772ee793faad429a45f 100644 (file)
@@ -1271,8 +1271,8 @@ static void __init eva_init(void)
 
 
 #ifdef CONFIG_CACHE_L2X0
-       /* Early BRESP enable, Shared attribute override enable, 32K*8way */
-       l2x0_init(IOMEM(0xf0002000), 0x40440000, 0x82000fff);
+       /* Shared attribute override enable, 32K*8way */
+       l2x0_init(IOMEM(0xf0002000), 0x00440000, 0xc2000fff);
 #endif
 
        i2c_register_board_info(0, i2c0_devices, ARRAY_SIZE(i2c0_devices));
index 598e32488410f2dae49c34f9a33681691e004ba1..85873f186d777daa6073f14f281d659ae88e4a30 100644 (file)
@@ -36,8 +36,8 @@ static void __init kzm_init(void)
        sh73a0_add_standard_devices_dt();
 
 #ifdef CONFIG_CACHE_L2X0
-       /* Early BRESP enable, Shared attribute override enable, 64K*8way */
-       l2x0_init(IOMEM(0xf0100000), 0x40460000, 0x82000fff);
+       /* Shared attribute override enable, 64K*8way */
+       l2x0_init(IOMEM(0xf0100000), 0x00460000, 0xc2000fff);
 #endif
 }
 
index 03dc3ac84502edd8f83aa51820ef1a05f24f9648..ea9bf39fdc10739eb2fad348393a4151d36a83e2 100644 (file)
@@ -876,8 +876,8 @@ static void __init kzm_init(void)
        gpio_request_one(223, GPIOF_IN, NULL); /* IRQ8 */
 
 #ifdef CONFIG_CACHE_L2X0
-       /* Early BRESP enable, Shared attribute override enable, 64K*8way */
-       l2x0_init(IOMEM(0xf0100000), 0x40460000, 0x82000fff);
+       /* Shared attribute override enable, 64K*8way */
+       l2x0_init(IOMEM(0xf0100000), 0x00460000, 0xc2000fff);
 #endif
 
        i2c_register_board_info(0, i2c0_devices, ARRAY_SIZE(i2c0_devices));
index 6d694526e4ca1b09be05a64cd163c4f83540e4df..3a8e5316671e7c5fc03e2c2353bdd37770198780 100644 (file)
@@ -298,10 +298,10 @@ void __init r8a7778_add_dt_devices(void)
        void __iomem *base = ioremap_nocache(0xf0100000, 0x1000);
        if (base) {
                /*
-                * Early BRESP enable, Shared attribute override enable, 64K*16way
+                * Shared attribute override enable, 64K*16way
                 * don't call iounmap(base)
                 */
-               l2x0_init(base, 0x40470000, 0x82000fff);
+               l2x0_init(base, 0x00470000, 0xc2000fff);
        }
 #endif
 
index 8e860b36997a670b4e0ad5a4af1368f5b5da510e..91c90bf0ae8372f018d01fd24d04584d04473ce8 100644 (file)
@@ -700,8 +700,8 @@ static struct platform_device *r8a7779_standard_devices[] __initdata = {
 void __init r8a7779_add_standard_devices(void)
 {
 #ifdef CONFIG_CACHE_L2X0
-       /* Early BRESP enable, Shared attribute override enable, 64K*16way */
-       l2x0_init(IOMEM(0xf0100000), 0x40470000, 0x82000fff);
+       /* Shared attribute override enable, 64K*16way */
+       l2x0_init(IOMEM(0xf0100000), 0x00470000, 0xc2000fff);
 #endif
        r8a7779_pm_init();
 
index 92860fa01668c5da6bb892dbd8ea93066cc6ae07..dcb300443b6677b72e0671bc7f81da6925403f28 100644 (file)
@@ -46,7 +46,7 @@ void __init spear13xx_l2x0_init(void)
         */
        writel_relaxed(0x221, VA_L2CC_BASE + L310_TAG_LATENCY_CTRL);
        writel_relaxed(0x441, VA_L2CC_BASE + L310_DATA_LATENCY_CTRL);
-       l2x0_init(VA_L2CC_BASE, 0x70A60001, 0xfe00ffff);
+       l2x0_init(VA_L2CC_BASE, 0x30a60001, 0xfe00ffff);
 }
 
 /*
index 6191603379e13cad2da1552954c3e2fb903cc241..ecbb5411a1045ea0b72c416ddb2a04ea6d2bffe1 100644 (file)
@@ -89,9 +89,9 @@ static void __init tegra_init_cache(void)
 
        cache_type = readl(p + L2X0_CACHE_TYPE);
        aux_ctrl = (cache_type & 0x700) << (17-8);
-       aux_ctrl |= 0x7C400001;
+       aux_ctrl |= 0x3c400001;
 
-       ret = l2x0_of_init(aux_ctrl, 0x8200c3fe);
+       ret = l2x0_of_init(aux_ctrl, 0xc200c3fe);
        if (!ret)
                l2x0_saved_regs_addr = virt_to_phys(&l2x0_saved_regs);
 #endif