Skip to content

Commit

Permalink
sh: Zero out aliases counter when using SH-X3 hardware assistance.
Browse files Browse the repository at this point in the history
This zeroes out the number of cache aliases in the cache info descriptors
when hardware alias avoidance is enabled. This cuts down on the amount of
flushing taken care of by common code, and also permits coherency control
to be disabled for the single CPU and 4k page size case.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
  • Loading branch information
Paul Mundt committed Apr 20, 2010
1 parent 1d5cc55 commit 88253e8
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion arch/sh/mm/cache-shx3.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,18 @@ void __init shx3_cache_init(void)

ccr = __raw_readl(CCR);

if (boot_cpu_data.dcache.n_aliases)
/*
* If we've got cache aliases, resolve them in hardware.
*/
if (boot_cpu_data.dcache.n_aliases || boot_cpu_data.icache.n_aliases) {
ccr |= CCR_CACHE_SNM;

boot_cpu_data.icache.n_aliases = 0;
boot_cpu_data.dcache.n_aliases = 0;

pr_info("Enabling hardware synonym avoidance\n");
}

#ifdef CONFIG_SMP
/*
* Broadcast I-cache block invalidations by default.
Expand Down

0 comments on commit 88253e8

Please sign in to comment.