Commit 88253e845996670f56635b054550fa45e1fec3d8
1 parent
1d5cc550ed
Exists in
master
and in
7 other branches
sh: Zero out aliases counter when using SH-X3 hardware assistance.
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>
Showing 1 changed file with 10 additions and 1 deletions Side-by-side Diff
arch/sh/mm/cache-shx3.c
... | ... | @@ -21,8 +21,17 @@ |
21 | 21 | |
22 | 22 | ccr = __raw_readl(CCR); |
23 | 23 | |
24 | - if (boot_cpu_data.dcache.n_aliases) | |
24 | + /* | |
25 | + * If we've got cache aliases, resolve them in hardware. | |
26 | + */ | |
27 | + if (boot_cpu_data.dcache.n_aliases || boot_cpu_data.icache.n_aliases) { | |
25 | 28 | ccr |= CCR_CACHE_SNM; |
29 | + | |
30 | + boot_cpu_data.icache.n_aliases = 0; | |
31 | + boot_cpu_data.dcache.n_aliases = 0; | |
32 | + | |
33 | + pr_info("Enabling hardware synonym avoidance\n"); | |
34 | + } | |
26 | 35 | |
27 | 36 | #ifdef CONFIG_SMP |
28 | 37 | /* |