MIPS: I6400: Icache fills from dcache
authorJames Hogan <james.hogan@imgtec.com>
Fri, 22 Jan 2016 10:58:26 +0000 (10:58 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Mon, 9 May 2016 10:00:03 +0000 (12:00 +0200)
Coherence Manager 3 (CM3) as present in I6400 can fill icache lines
effectively from dirty dcaches, so there is no need to flush dirty lines
from dcaches through to L2 prior to icache invalidation.

Set the MIPS_CACHE_IC_F_DC flag such that cpu_has_ic_fills_f_dc
evaluates to true, which avoids those dcache flushes.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Leonid Yegoshin <leonid.yegoshin@imgtec.com>
Cc: Manuel Lauss <manuel.lauss@gmail.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/12180/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/mm/c-r4k.c

index fc7289dfaf5adbbeebd3aa538d0ed67e9f12680d..69e7e5873af37d7bdc892f21a69a78fb23105477 100644 (file)
@@ -1311,6 +1311,7 @@ static void probe_pcache(void)
                break;
 
        case CPU_ALCHEMY:
+       case CPU_I6400:
                c->icache.flags |= MIPS_CACHE_IC_F_DC;
                break;