summaryrefslogtreecommitdiffstats
path: root/arch/sh/mm/cache-sh4.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-11-17 07:51:02 +0100
committerIngo Molnar <mingo@elte.hu>2009-11-17 07:51:07 +0100
commit99f4c9de2b707795acb215e2e94df7ea266042b5 (patch)
tree6123682a8e0d880feebb690a55b3fb442ef3dee8 /arch/sh/mm/cache-sh4.c
parentx86: Don't put iommu_shutdown_noop() in init section (diff)
parentLinux 2.6.32-rc7 (diff)
downloadlinux-99f4c9de2b707795acb215e2e94df7ea266042b5.tar.xz
linux-99f4c9de2b707795acb215e2e94df7ea266042b5.zip
Merge commit 'v2.6.32-rc7' into core/iommu
Merge reason: Add fixes we'll depend on. Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/sh/mm/cache-sh4.c')
-rw-r--r--arch/sh/mm/cache-sh4.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/sh/mm/cache-sh4.c b/arch/sh/mm/cache-sh4.c
index 519e2d16cd06..b7f235c74d66 100644
--- a/arch/sh/mm/cache-sh4.c
+++ b/arch/sh/mm/cache-sh4.c
@@ -72,6 +72,7 @@ static void __uses_jump_to_uncached sh4_flush_icache_range(void *args)
for (v = start; v < end; v += L1_CACHE_BYTES) {
unsigned long icacheaddr;
+ int j, n;
__ocbwb(v);
@@ -79,8 +80,10 @@ static void __uses_jump_to_uncached sh4_flush_icache_range(void *args)
cpu_data->icache.entry_mask);
/* Clear i-cache line valid-bit */
+ n = boot_cpu_data.icache.n_aliases;
for (i = 0; i < cpu_data->icache.ways; i++) {
- __raw_writel(0, icacheaddr);
+ for (j = 0; j < n; j++)
+ __raw_writel(0, icacheaddr + (j * PAGE_SIZE));
icacheaddr += cpu_data->icache.way_incr;
}
}