aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorYong Zhang <yong.zhang@windriver.com>2012-07-19 03:13:53 -0400
committerRalf Baechle <ralf@linux-mips.org>2012-07-19 05:23:44 -0400
commit856ac3c6e0c4cb566014edf5fa185b962298db88 (patch)
treea22d79cf7735b7ca312ceec4650c701c3eb4903c /arch
parent1bcfecc028686ea32e49b0f4f6e8a665917cb49a (diff)
MIPS: BMIPS: delay irq enable to ->smp_finish()
To prepare for smoothing set_cpu_[active|online]() mess up Signed-off-by: Yong Zhang <yong.zhang0@gmail.com> Cc: Sergei Shtylyov <sshtylyov@mvista.com> Cc: David Daney <david.daney@cavium.com> Acked-by: David Daney <david.daney@cavium.com> Patchwork: https://patchwork.linux-mips.org/patch/3846/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/mips/kernel/smp-bmips.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/arch/mips/kernel/smp-bmips.c b/arch/mips/kernel/smp-bmips.c
index 32fe9254d943..8e393b8443f7 100644
--- a/arch/mips/kernel/smp-bmips.c
+++ b/arch/mips/kernel/smp-bmips.c
@@ -196,13 +196,6 @@ static void bmips_init_secondary(void)
196 196
197 write_c0_brcm_action(ACTION_CLR_IPI(smp_processor_id(), 0)); 197 write_c0_brcm_action(ACTION_CLR_IPI(smp_processor_id(), 0));
198#endif 198#endif
199
200 /* make sure there won't be a timer interrupt for a little while */
201 write_c0_compare(read_c0_count() + mips_hpt_frequency / HZ);
202
203 irq_enable_hazard();
204 set_c0_status(IE_SW0 | IE_SW1 | IE_IRQ1 | IE_IRQ5 | ST0_IE);
205 irq_enable_hazard();
206} 199}
207 200
208/* 201/*
@@ -211,6 +204,13 @@ static void bmips_init_secondary(void)
211static void bmips_smp_finish(void) 204static void bmips_smp_finish(void)
212{ 205{
213 pr_info("SMP: CPU%d is running\n", smp_processor_id()); 206 pr_info("SMP: CPU%d is running\n", smp_processor_id());
207
208 /* make sure there won't be a timer interrupt for a little while */
209 write_c0_compare(read_c0_count() + mips_hpt_frequency / HZ);
210
211 irq_enable_hazard();
212 set_c0_status(IE_SW0 | IE_SW1 | IE_IRQ1 | IE_IRQ5 | ST0_IE);
213 irq_enable_hazard();
214} 214}
215 215
216/* 216/*