OSDN Git Service

MIPS: Set MIPS_IC_SNOOPS_REMOTE for systems with CM
authorPaul Burton <paul.burton@mips.com>
Fri, 2 Jun 2017 22:17:25 +0000 (15:17 -0700)
committerPaul Burton <paul.burton@mips.com>
Sun, 24 Jun 2018 16:27:27 +0000 (09:27 -0700)
commitd1c5872ce1042d10d44e54b6e8e8f5b7c2e76541
treee1063f11a9919d4b9b047cbd07aba424dc09d4b1
parent8fd2d6ea66272f849943269c7ea771ce85fd8fb1
MIPS: Set MIPS_IC_SNOOPS_REMOTE for systems with CM

In systems that include a MIPS Coherency Manager, the icache always
fills from a cache which is coherent across all CPUs. In I6400 & I6500
systems the icache fills from the dcache which is coherent across all
CPUs. In all other CM-based systems the icache fills from the L2 cache
which is shared between all cores.

This means that an icache will always see stores from remote CPUs
without needing to write them back any further than that L2, which is
what the cpu_icache_snoops_remote_store feature is used to test. In
order for it to return 1 without needing a per-platform override (which
is what Malta has relied upon so far) set the MIPS_IC_SNOOPS_REMOTE flag
when a CM is present.

Signed-off-by: Paul Burton <paul.burton@mips.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/16200/
arch/mips/mm/c-r4k.c