summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>2007-03-05 00:41:39 +0900
committerRalf Baechle <ralf@linux-mips.org>2007-03-07 00:07:16 +0000
commita5664c40750ce423f308dfd01ad4e82ecb7ac127 (patch)
tree1cb488a1df4b927562fb5523e162bae3220f87ce
parent0a22e0d43b6d6468544dd7559d5f3c4acb8b536e (diff)
downloadlinux-3.10-a5664c40750ce423f308dfd01ad4e82ecb7ac127.tar.gz
linux-3.10-a5664c40750ce423f308dfd01ad4e82ecb7ac127.tar.bz2
linux-3.10-a5664c40750ce423f308dfd01ad4e82ecb7ac127.zip
[MIPS] TX39: Remove redundant tx39_blast_icache() calls
Apply commit 0550d9d13e02b30efa117d47fcadea450bb23d23 to c-tx39.c too. And fix a warning in local_tx39_flush_data_cache_page(). Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r--arch/mips/mm/c-tx39.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/arch/mips/mm/c-tx39.c b/arch/mips/mm/c-tx39.c
index f32ebde30cc..560a6de9655 100644
--- a/arch/mips/mm/c-tx39.c
+++ b/arch/mips/mm/c-tx39.c
@@ -128,7 +128,6 @@ static inline void tx39_flush_cache_all(void)
return;
tx39_blast_dcache();
- tx39_blast_icache();
}
static inline void tx39___flush_cache_all(void)
@@ -142,24 +141,19 @@ static void tx39_flush_cache_mm(struct mm_struct *mm)
if (!cpu_has_dc_aliases)
return;
- if (cpu_context(smp_processor_id(), mm) != 0) {
- tx39_flush_cache_all();
- }
+ if (cpu_context(smp_processor_id(), mm) != 0)
+ tx39_blast_dcache();
}
static void tx39_flush_cache_range(struct vm_area_struct *vma,
unsigned long start, unsigned long end)
{
- int exec;
-
+ if (!cpu_has_dc_aliases)
+ return;
if (!(cpu_context(smp_processor_id(), vma->vm_mm)))
return;
- exec = vma->vm_flags & VM_EXEC;
- if (cpu_has_dc_aliases || exec)
- tx39_blast_dcache();
- if (exec)
- tx39_blast_icache();
+ tx39_blast_dcache();
}
static void tx39_flush_cache_page(struct vm_area_struct *vma, unsigned long page, unsigned long pfn)
@@ -218,7 +212,7 @@ static void tx39_flush_cache_page(struct vm_area_struct *vma, unsigned long page
static void local_tx39_flush_data_cache_page(void * addr)
{
- tx39_blast_dcache_page(addr);
+ tx39_blast_dcache_page((unsigned long)addr);
}
static void tx39_flush_data_cache_page(unsigned long addr)