aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-ux500/platsmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-ux500/platsmp.c')
-rw-r--r--arch/arm/mach-ux500/platsmp.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/arm/mach-ux500/platsmp.c b/arch/arm/mach-ux500/platsmp.c
index 3db7782f3afb..18f7af339dc9 100644
--- a/arch/arm/mach-ux500/platsmp.c
+++ b/arch/arm/mach-ux500/platsmp.c
@@ -16,14 +16,17 @@
16#include <linux/device.h> 16#include <linux/device.h>
17#include <linux/smp.h> 17#include <linux/smp.h>
18#include <linux/io.h> 18#include <linux/io.h>
19#include <linux/irqchip/arm-gic.h>
19 20
20#include <asm/cacheflush.h> 21#include <asm/cacheflush.h>
21#include <asm/hardware/gic.h>
22#include <asm/smp_plat.h> 22#include <asm/smp_plat.h>
23#include <asm/smp_scu.h> 23#include <asm/smp_scu.h>
24
24#include <mach/hardware.h> 25#include <mach/hardware.h>
25#include <mach/setup.h> 26#include <mach/setup.h>
26 27
28#include "id.h"
29
27/* This is called from headsmp.S to wakeup the secondary core */ 30/* This is called from headsmp.S to wakeup the secondary core */
28extern void u8500_secondary_startup(void); 31extern void u8500_secondary_startup(void);
29 32
@@ -91,7 +94,7 @@ static int __cpuinit ux500_boot_secondary(unsigned int cpu, struct task_struct *
91 */ 94 */
92 write_pen_release(cpu_logical_map(cpu)); 95 write_pen_release(cpu_logical_map(cpu));
93 96
94 smp_send_reschedule(cpu); 97 arch_send_wakeup_ipi_mask(cpumask_of(cpu));
95 98
96 timeout = jiffies + (1 * HZ); 99 timeout = jiffies + (1 * HZ);
97 while (time_before(jiffies, timeout)) { 100 while (time_before(jiffies, timeout)) {
@@ -155,8 +158,6 @@ static void __init ux500_smp_init_cpus(void)
155 158
156 for (i = 0; i < ncores; i++) 159 for (i = 0; i < ncores; i++)
157 set_cpu_possible(i, true); 160 set_cpu_possible(i, true);
158
159 set_smp_cross_call(gic_raise_softirq);
160} 161}
161 162
162static void __init ux500_smp_prepare_cpus(unsigned int max_cpus) 163static void __init ux500_smp_prepare_cpus(unsigned int max_cpus)