aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-04-13 18:57:57 -0400
committerMike Frysinger <vapier@gentoo.org>2011-05-25 08:13:42 -0400
commit44491fbc5a228f3c2e61d842fd9fee0bfb839373 (patch)
treea8762ef074c96bb7e80050731dcab27684cbce84 /arch/blackfin
parent8d011f70b08f563b007743fd446a6022f0329cd4 (diff)
Blackfin: SMP: fix cpudata cache setup
After some cache setup reordering changesets, the blackfin_cpudata init was left behind. While cpu0's data was correct, cpu1's data was not. Not that big of a deal as these are only used in the cpuinfo output, but should still be fixed. So move the setup of these fields to the common cache setup function to avoid this happening again in the future. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'arch/blackfin')
-rw-r--r--arch/blackfin/kernel/setup.c4
-rw-r--r--arch/blackfin/mach-bf561/smp.c3
2 files changed, 2 insertions, 5 deletions
diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c
index 6b09f5cf6313..11eff2c3e980 100644
--- a/arch/blackfin/kernel/setup.c
+++ b/arch/blackfin/kernel/setup.c
@@ -105,6 +105,8 @@ void __cpuinit bfin_setup_caches(unsigned int cpu)
105 bfin_dcache_init(dcplb_tbl[cpu]); 105 bfin_dcache_init(dcplb_tbl[cpu]);
106#endif 106#endif
107 107
108 bfin_setup_cpudata(cpu);
109
108 /* 110 /*
109 * In cache coherence emulation mode, we need to have the 111 * In cache coherence emulation mode, we need to have the
110 * D-cache enabled before running any atomic operation which 112 * D-cache enabled before running any atomic operation which
@@ -1036,8 +1038,6 @@ void __init setup_arch(char **cmdline_p)
1036static int __init topology_init(void) 1038static int __init topology_init(void)
1037{ 1039{
1038 unsigned int cpu; 1040 unsigned int cpu;
1039 /* Record CPU-private information for the boot processor. */
1040 bfin_setup_cpudata(0);
1041 1041
1042 for_each_possible_cpu(cpu) { 1042 for_each_possible_cpu(cpu) {
1043 register_cpu(&per_cpu(cpu_data, cpu).cpu, cpu); 1043 register_cpu(&per_cpu(cpu_data, cpu).cpu, cpu);
diff --git a/arch/blackfin/mach-bf561/smp.c b/arch/blackfin/mach-bf561/smp.c
index 7b07740cf68c..390accf17ebc 100644
--- a/arch/blackfin/mach-bf561/smp.c
+++ b/arch/blackfin/mach-bf561/smp.c
@@ -62,9 +62,6 @@ void __cpuinit platform_secondary_init(unsigned int cpu)
62 bfin_write_SICB_IWR1(IWR_DISABLE_ALL); 62 bfin_write_SICB_IWR1(IWR_DISABLE_ALL);
63 SSYNC(); 63 SSYNC();
64 64
65 /* Store CPU-private information to the cpu_data array. */
66 bfin_setup_cpudata(cpu);
67
68 /* We are done with local CPU inits, unblock the boot CPU. */ 65 /* We are done with local CPU inits, unblock the boot CPU. */
69 set_cpu_online(cpu, true); 66 set_cpu_online(cpu, true);
70 spin_lock(&boot_lock); 67 spin_lock(&boot_lock);