Browse Source

MIPS: c-r4k: Treat physically indexed dcaches as not aliasing

Physically indexed caches cannot suffer from virtual aliasing, so clear
the MIPS_CACHE_ALIASES bit in order to ensure we don't do extra work
avoiding aliasing that cannot happen.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/14017/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Paul Burton 9 years ago
parent
commit
d66f99bc46
1 changed files with 4 additions and 0 deletions
  1. 4 0
      arch/mips/mm/c-r4k.c

+ 4 - 0
arch/mips/mm/c-r4k.c

@@ -1497,6 +1497,10 @@ static void probe_pcache(void)
 			c->dcache.flags |= MIPS_CACHE_ALIASES;
 			c->dcache.flags |= MIPS_CACHE_ALIASES;
 	}
 	}
 
 
+	/* Physically indexed caches don't suffer from virtual aliasing */
+	if (c->dcache.flags & MIPS_CACHE_PINDEX)
+		c->dcache.flags &= ~MIPS_CACHE_ALIASES;
+
 	switch (current_cpu_type()) {
 	switch (current_cpu_type()) {
 	case CPU_20KC:
 	case CPU_20KC:
 		/*
 		/*