summaryrefslogtreecommitdiff
path: root/arch/arm/include
diff options
context:
space:
mode:
authorXin Xie <xxie@nvidia.com>2011-03-09 16:42:11 -0800
committerVarun Colbert <vcolbert@nvidia.com>2011-03-22 16:39:32 -0800
commit184b3ea36d5878b69c79bc190f4c395a40bc81e6 (patch)
treefc87aa6046b1c9446046fa09c45794b78780898d /arch/arm/include
parent3218d13d46522296c952ce1fe23b95f99dbcaa50 (diff)
ARM: SMP: remove per_cpu based spinlock in do_IPI()
The spinlock used in the do_IPI function is declared in per_cpu section, and it does not have the cache snooping which can cause the spinlock failure. This fix is based on the main kernel tree: - ARM: SMP: avoid using bitmasks and locks for IPIs, use hardware instead commit 24480d980e9063b3ebd0dfdf2f396c305956c356 - ARM: SMP: remove IRQ-disabling for smp_cross_call() commit 0df7095205cbf6ea1cdfe6254e0d6a3b823caa3b BUG 798775 Change-Id: I6e03027cb3f586803a260e216c71fc2fd74d09f2 Reviewed-on: http://git-master/r/23779 Reviewed-by: Xin Xie <xxie@nvidia.com> Tested-by: Xin Xie <xxie@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'arch/arm/include')
-rw-r--r--arch/arm/include/asm/smp.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/include/asm/smp.h b/arch/arm/include/asm/smp.h
index 3d05190797cb..da7e7ca53cc1 100644
--- a/arch/arm/include/asm/smp.h
+++ b/arch/arm/include/asm/smp.h
@@ -38,7 +38,7 @@ extern void show_ipi_list(struct seq_file *p);
/*
* Called from assembly code, this handles an IPI.
*/
-asmlinkage void do_IPI(struct pt_regs *regs);
+asmlinkage void do_IPI(int ipinr, struct pt_regs *regs);
/*
* Setup the set of possible CPUs (via set_cpu_possible)
@@ -53,7 +53,7 @@ extern void smp_store_cpu_info(unsigned int cpuid);
/*
* Raise an IPI cross call on CPUs in callmap.
*/
-extern void smp_cross_call(const struct cpumask *mask);
+extern void smp_cross_call(const struct cpumask *mask, int ipi);
/*
* Boot a secondary CPU, and assign it the specified idle task.