Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

MIPS: MIPSxx SC: Avoid destructive invalidation on partial L2 cachelines.

This extends commit a8ca8b64e3fdfec17679cba0ca5ce6e3ffed092d to cover
MIPSxx-style board cache code.

Signed-off-by: Kevin Cernekee <cernekee@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

authored by

Kevin Cernekee and committed by
Ralf Baechle
96983ffe a648e811

+5
+5
arch/mips/mm/sc-mips.c
··· 32 32 */ 33 33 static void mips_sc_inv(unsigned long addr, unsigned long size) 34 34 { 35 + unsigned long lsize = cpu_scache_line_size(); 36 + unsigned long almask = ~(lsize - 1); 37 + 38 + cache_op(Hit_Writeback_Inv_SD, addr & almask); 39 + cache_op(Hit_Writeback_Inv_SD, (addr + size - 1) & almask); 35 40 blast_inv_scache_range(addr, addr + size); 36 41 } 37 42