ARC: [mm] Prevent stray dcache lines after__sync_icache_dcach()
authorVineet Gupta <vgupta@synopsys.com>
Thu, 16 May 2013 06:49:29 +0000 (12:19 +0530)
committerVineet Gupta <vgupta@synopsys.com>
Thu, 23 May 2013 04:56:33 +0000 (10:26 +0530)
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>
arch/arc/mm/cache_arc700.c

index 2f12bca8aef30c4155b21e514e3ba9dd5ec63468..d4b7bb616840698c645ed3d747b1fc7a82ead8c3 100644 (file)
@@ -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);
 }