]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
[MIPS] Remove redundant r4k_blast_icache() calls
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>
Tue, 22 Aug 2006 12:15:47 +0000 (21:15 +0900)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 30 Nov 2006 01:14:48 +0000 (01:14 +0000)
r4k_flush_cache_all() and r4k_flush_cache_mm() case: these are noop if
the CPU did not have dc_aliases.  It would mean we do not need to care
about icache here.

r4k_flush_cache_range case: if r4k_flush_cache_mm() did not need to
care about icache, it would be same for this function.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/mm/c-r4k.c

index cc895dad71d2297094243bd5d23d8d411d4893c0..0138cb2e456d566636fd24624937f9f1f8b5649e 100644 (file)
@@ -323,7 +323,6 @@ static void __init r4k_blast_scache_setup(void)
 static inline void local_r4k_flush_cache_all(void * args)
 {
        r4k_blast_dcache();
-       r4k_blast_icache();
 }
 
 static void r4k_flush_cache_all(void)
@@ -359,21 +358,19 @@ static void r4k___flush_cache_all(void)
 static inline void local_r4k_flush_cache_range(void * args)
 {
        struct vm_area_struct *vma = args;
-       int exec;
 
        if (!(cpu_context(smp_processor_id(), vma->vm_mm)))
                return;
 
-       exec = vma->vm_flags & VM_EXEC;
-       if (cpu_has_dc_aliases || exec)
-               r4k_blast_dcache();
-       if (exec)
-               r4k_blast_icache();
+       r4k_blast_dcache();
 }
 
 static void r4k_flush_cache_range(struct vm_area_struct *vma,
        unsigned long start, unsigned long end)
 {
+       if (!cpu_has_dc_aliases)
+               return;
+
        r4k_on_each_cpu(local_r4k_flush_cache_range, vma, 1, 1);
 }
 
@@ -385,7 +382,6 @@ static inline void local_r4k_flush_cache_mm(void * args)
                return;
 
        r4k_blast_dcache();
-       r4k_blast_icache();
 
        /*
         * Kludge alert.  For obscure reasons R4000SC and R4400SC go nuts if we