sh: Zero out aliases counter when using SH-X3 hardware assistance.
[safe/jmp/linux-2.6] / arch / sh / mm / cache-shx3.c
index 65936c4..c0adbee 100644 (file)
@@ -21,9 +21,18 @@ void __init shx3_cache_init(void)
 
        ccr = __raw_readl(CCR);
 
-       if (boot_cpu_data.dcache.n_aliases)
+       /*
+        * If we've got cache aliases, resolve them in hardware.
+        */
+       if (boot_cpu_data.dcache.n_aliases || boot_cpu_data.icache.n_aliases) {
                ccr |= CCR_CACHE_SNM;
 
+               boot_cpu_data.icache.n_aliases = 0;
+               boot_cpu_data.dcache.n_aliases = 0;
+
+               pr_info("Enabling hardware synonym avoidance\n");
+       }
+
 #ifdef CONFIG_SMP
        /*
         * Broadcast I-cache block invalidations by default.