diff options
author | Paul Mundt <lethal@linux-sh.org> | 2006-12-24 20:19:56 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2007-02-12 20:54:45 -0500 |
commit | 11c1965687b0a472add948d4240dfe65a2fcb298 (patch) | |
tree | 69a71a34591bbdc6339dbe72de36819479f96198 /arch/sh/mm/cache-sh3.c | |
parent | aec5e0e1c179fac4bbca4007a3f0d3107275a73c (diff) |
sh: Fixup cpu_data references for the non-boot CPUs.
There are a lot of bogus cpu_data-> references that only end up working
for the boot CPU, convert these to current_cpu_data to fixup SMP.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/mm/cache-sh3.c')
-rw-r--r-- | arch/sh/mm/cache-sh3.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/sh/mm/cache-sh3.c b/arch/sh/mm/cache-sh3.c index 838731fc608d..6d1dbec08ad4 100644 --- a/arch/sh/mm/cache-sh3.c +++ b/arch/sh/mm/cache-sh3.c | |||
@@ -44,11 +44,11 @@ void __flush_wback_region(void *start, int size) | |||
44 | 44 | ||
45 | for (v = begin; v < end; v+=L1_CACHE_BYTES) { | 45 | for (v = begin; v < end; v+=L1_CACHE_BYTES) { |
46 | unsigned long addrstart = CACHE_OC_ADDRESS_ARRAY; | 46 | unsigned long addrstart = CACHE_OC_ADDRESS_ARRAY; |
47 | for (j = 0; j < cpu_data->dcache.ways; j++) { | 47 | for (j = 0; j < current_cpu_data.dcache.ways; j++) { |
48 | unsigned long data, addr, p; | 48 | unsigned long data, addr, p; |
49 | 49 | ||
50 | p = __pa(v); | 50 | p = __pa(v); |
51 | addr = addrstart | (v & cpu_data->dcache.entry_mask); | 51 | addr = addrstart | (v & current_cpu_data.dcache.entry_mask); |
52 | local_irq_save(flags); | 52 | local_irq_save(flags); |
53 | data = ctrl_inl(addr); | 53 | data = ctrl_inl(addr); |
54 | 54 | ||
@@ -60,7 +60,7 @@ void __flush_wback_region(void *start, int size) | |||
60 | break; | 60 | break; |
61 | } | 61 | } |
62 | local_irq_restore(flags); | 62 | local_irq_restore(flags); |
63 | addrstart += cpu_data->dcache.way_incr; | 63 | addrstart += current_cpu_data.dcache.way_incr; |
64 | } | 64 | } |
65 | } | 65 | } |
66 | } | 66 | } |
@@ -85,7 +85,7 @@ void __flush_purge_region(void *start, int size) | |||
85 | 85 | ||
86 | data = (v & 0xfffffc00); /* _Virtual_ address, ~U, ~V */ | 86 | data = (v & 0xfffffc00); /* _Virtual_ address, ~U, ~V */ |
87 | addr = CACHE_OC_ADDRESS_ARRAY | | 87 | addr = CACHE_OC_ADDRESS_ARRAY | |
88 | (v & cpu_data->dcache.entry_mask) | SH_CACHE_ASSOC; | 88 | (v & current_cpu_data.dcache.entry_mask) | SH_CACHE_ASSOC; |
89 | ctrl_outl(data, addr); | 89 | ctrl_outl(data, addr); |
90 | } | 90 | } |
91 | } | 91 | } |