Skip to content

Commit

Permalink
Sync c-tx39.c with c-r4k.c.
Browse files Browse the repository at this point in the history
    
tx39_flush_cache_range() does nothing if !cpu_has_dc_aliases.  It should
flush d-cache and invalidate i-cache since the TX39(H2) has separate I/D
cache.
    
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
Atsushi Nemoto authored and Ralf Baechle committed Oct 29, 2005
1 parent 9d58f30 commit 9043f7e
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions arch/mips/mm/c-tx39.c
Original file line number Diff line number Diff line change
Expand Up @@ -167,15 +167,16 @@ static void tx39_flush_cache_mm(struct mm_struct *mm)
static void tx39_flush_cache_range(struct vm_area_struct *vma,
unsigned long start, unsigned long end)
{
struct mm_struct *mm = vma->vm_mm;
int exec;

if (!cpu_has_dc_aliases)
if (!(cpu_context(smp_processor_id(), vma->vm_mm)))
return;

if (cpu_context(smp_processor_id(), mm) != 0) {
exec = vma->vm_flags & VM_EXEC;
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)
Expand Down

0 comments on commit 9043f7e

Please sign in to comment.