diff options
Diffstat (limited to 'arch/arc')
-rw-r--r-- | arch/arc/mm/cache_arc700.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/arc/mm/cache_arc700.c b/arch/arc/mm/cache_arc700.c index 03012a27d590..4e54ef5b4c2a 100644 --- a/arch/arc/mm/cache_arc700.c +++ b/arch/arc/mm/cache_arc700.c | |||
@@ -679,7 +679,12 @@ void flush_cache_page(struct vm_area_struct *vma, unsigned long u_vaddr, | |||
679 | { | 679 | { |
680 | unsigned int paddr = pfn << PAGE_SHIFT; | 680 | unsigned int paddr = pfn << PAGE_SHIFT; |
681 | 681 | ||
682 | __sync_icache_dcache(paddr, u_vaddr, PAGE_SIZE); | 682 | u_vaddr &= PAGE_MASK; |
683 | |||
684 | ___flush_dcache_page(paddr, u_vaddr); | ||
685 | |||
686 | if (vma->vm_flags & VM_EXEC) | ||
687 | __inv_icache_page(paddr, u_vaddr); | ||
683 | } | 688 | } |
684 | 689 | ||
685 | void flush_cache_range(struct vm_area_struct *vma, unsigned long start, | 690 | void flush_cache_range(struct vm_area_struct *vma, unsigned long start, |