Commit a5664c40 authored by Atsushi Nemoto's avatar Atsushi Nemoto Committed by Ralf Baechle

[MIPS] TX39: Remove redundant tx39_blast_icache() calls

Apply commit 0550d9d1 to c-tx39.c too.
And fix a warning in local_tx39_flush_data_cache_page().
Signed-off-by: default avatarAtsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 0a22e0d4
...@@ -128,7 +128,6 @@ static inline void tx39_flush_cache_all(void) ...@@ -128,7 +128,6 @@ static inline void tx39_flush_cache_all(void)
return; return;
tx39_blast_dcache(); tx39_blast_dcache();
tx39_blast_icache();
} }
static inline void tx39___flush_cache_all(void) static inline void tx39___flush_cache_all(void)
...@@ -142,24 +141,19 @@ static void tx39_flush_cache_mm(struct mm_struct *mm) ...@@ -142,24 +141,19 @@ static void tx39_flush_cache_mm(struct mm_struct *mm)
if (!cpu_has_dc_aliases) if (!cpu_has_dc_aliases)
return; return;
if (cpu_context(smp_processor_id(), mm) != 0) { if (cpu_context(smp_processor_id(), mm) != 0)
tx39_flush_cache_all(); tx39_blast_dcache();
}
} }
static void tx39_flush_cache_range(struct vm_area_struct *vma, static void tx39_flush_cache_range(struct vm_area_struct *vma,
unsigned long start, unsigned long end) unsigned long start, unsigned long end)
{ {
int exec; if (!cpu_has_dc_aliases)
return;
if (!(cpu_context(smp_processor_id(), vma->vm_mm))) if (!(cpu_context(smp_processor_id(), vma->vm_mm)))
return; return;
exec = vma->vm_flags & VM_EXEC; tx39_blast_dcache();
if (cpu_has_dc_aliases || exec)
tx39_blast_dcache();
if (exec)
tx39_blast_icache();
} }
static void tx39_flush_cache_page(struct vm_area_struct *vma, unsigned long page, unsigned long pfn) 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 ...@@ -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) 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) static void tx39_flush_data_cache_page(unsigned long addr)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment