Commit 71f9cf8f authored by Noam Camus's avatar Noam Camus Committed by Vineet Gupta

ARC: Mark secondary cpu online only after all HW setup is done

In SMP setup, master loops for each_present_cpu calling cpu_up().
For ARC it returns as soon as new cpu's status becomes online,
However secondary may still do HW initializing,
machine or platform hook level.

So turn secondary online only after all HW setup is done.
Signed-off-by: default avatarNoam Camus <noamc@ezchip.com>
Acked-by: default avatarVineet Gupta <vgupta@synopsys.com>
parent 2a1021fc
...@@ -126,11 +126,6 @@ void start_kernel_secondary(void) ...@@ -126,11 +126,6 @@ void start_kernel_secondary(void)
current->active_mm = mm; current->active_mm = mm;
cpumask_set_cpu(cpu, mm_cpumask(mm)); cpumask_set_cpu(cpu, mm_cpumask(mm));
notify_cpu_starting(cpu);
set_cpu_online(cpu, true);
pr_info("## CPU%u LIVE ##: Executing Code...\n", cpu);
/* Some SMP H/w setup - for each cpu */ /* Some SMP H/w setup - for each cpu */
if (plat_smp_ops.init_per_cpu) if (plat_smp_ops.init_per_cpu)
plat_smp_ops.init_per_cpu(cpu); plat_smp_ops.init_per_cpu(cpu);
...@@ -138,6 +133,11 @@ void start_kernel_secondary(void) ...@@ -138,6 +133,11 @@ void start_kernel_secondary(void)
if (machine_desc->init_per_cpu) if (machine_desc->init_per_cpu)
machine_desc->init_per_cpu(cpu); machine_desc->init_per_cpu(cpu);
notify_cpu_starting(cpu);
set_cpu_online(cpu, true);
pr_info("## CPU%u LIVE ##: Executing Code...\n", cpu);
local_irq_enable(); local_irq_enable();
preempt_disable(); preempt_disable();
cpu_startup_entry(CPUHP_AP_ONLINE_IDLE); cpu_startup_entry(CPUHP_AP_ONLINE_IDLE);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment