summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2013-05-16 12:19:29 +0530
committerVineet Gupta <vgupta@synopsys.com>2013-05-23 10:26:33 +0530
commitf538881cc672c1b049aa0a34a792d0953fcecba5 (patch)
treed9e928e7291930f0fab8ec5da8184dc1c7098553
parent7d19273cd0408f8520539d5d6b1f695cd311b109 (diff)
downloadlinux-f538881cc672c1b049aa0a34a792d0953fcecba5.tar.gz
linux-f538881cc672c1b049aa0a34a792d0953fcecba5.tar.bz2
linux-f538881cc672c1b049aa0a34a792d0953fcecba5.zip
ARC: [mm] Prevent stray dcache lines after__sync_icache_dcach()
Flush and INVALIDATE the dcache page. This helper is only used for writeback of CODE pages to memory. So there's no value in keeping the dcache lines around. Infact it is risky as a writeback on natural eviction under pressure can cause un-needed writeback with weird issues on aliasing dcache configurations. Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
-rw-r--r--arch/arc/mm/cache_arc700.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arc/mm/cache_arc700.c b/arch/arc/mm/cache_arc700.c
index 2f12bca8aef3..d4b7bb616840 100644
--- a/arch/arc/mm/cache_arc700.c
+++ b/arch/arc/mm/cache_arc700.c
@@ -610,7 +610,7 @@ void __sync_icache_dcache(unsigned long paddr, unsigned long vaddr, int len)
local_irq_save(flags);
__ic_line_inv_vaddr(paddr, vaddr, len);
- __dc_line_op(paddr, vaddr, len, OP_FLUSH);
+ __dc_line_op(paddr, vaddr, len, OP_FLUSH_N_INV);
local_irq_restore(flags);
}