diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-11-15 04:42:08 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-12-03 03:26:30 -0500 |
commit | ad3b6993b9c5482e8a2ec5aed181538c921fdcbd (patch) | |
tree | ec14d13777bc9b7d495929d74a83c36687ec4eab /arch/arm/mach-realview | |
parent | d92e04713c6323e09a0d0fdfa0d7cbcedb175e49 (diff) |
ARM: SMP: pass an ipi number to smp_cross_call()
This allows us to use smp_cross_call() to trigger a number of different
software generated interrupts, rather than combining them all on one
SGI. Recover the SGI number via do_IPI.
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-realview')
-rw-r--r-- | arch/arm/mach-realview/include/mach/smp.h | 4 | ||||
-rw-r--r-- | arch/arm/mach-realview/platsmp.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm/mach-realview/include/mach/smp.h b/arch/arm/mach-realview/include/mach/smp.h index d3cd265cb058..d1aa70415a4e 100644 --- a/arch/arm/mach-realview/include/mach/smp.h +++ b/arch/arm/mach-realview/include/mach/smp.h | |||
@@ -7,9 +7,9 @@ | |||
7 | /* | 7 | /* |
8 | * We use IRQ1 as the IPI | 8 | * We use IRQ1 as the IPI |
9 | */ | 9 | */ |
10 | static inline void smp_cross_call(const struct cpumask *mask) | 10 | static inline void smp_cross_call(const struct cpumask *mask, int ipi) |
11 | { | 11 | { |
12 | gic_raise_softirq(mask, 1); | 12 | gic_raise_softirq(mask, ipi); |
13 | } | 13 | } |
14 | 14 | ||
15 | #endif | 15 | #endif |
diff --git a/arch/arm/mach-realview/platsmp.c b/arch/arm/mach-realview/platsmp.c index 009265818d55..af3d9093390b 100644 --- a/arch/arm/mach-realview/platsmp.c +++ b/arch/arm/mach-realview/platsmp.c | |||
@@ -116,7 +116,7 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) | |||
116 | * Use smp_cross_call() for this, since there's little | 116 | * Use smp_cross_call() for this, since there's little |
117 | * point duplicating the code here | 117 | * point duplicating the code here |
118 | */ | 118 | */ |
119 | smp_cross_call(cpumask_of(cpu)); | 119 | smp_cross_call(cpumask_of(cpu), 1); |
120 | 120 | ||
121 | timeout = jiffies + (1 * HZ); | 121 | timeout = jiffies + (1 * HZ); |
122 | while (time_before(jiffies, timeout)) { | 122 | while (time_before(jiffies, timeout)) { |