diff options
Diffstat (limited to 'arch/arc/plat-arcfpga/smp.c')
-rw-r--r-- | arch/arc/plat-arcfpga/smp.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/arch/arc/plat-arcfpga/smp.c b/arch/arc/plat-arcfpga/smp.c index 91b55349a5f8..8a12741f5f7a 100644 --- a/arch/arc/plat-arcfpga/smp.c +++ b/arch/arc/plat-arcfpga/smp.c | |||
@@ -88,18 +88,14 @@ void iss_model_init_smp(unsigned int cpu) | |||
88 | smp_ipi_irq_setup(cpu, IDU_INTERRUPT_0 + cpu); | 88 | smp_ipi_irq_setup(cpu, IDU_INTERRUPT_0 + cpu); |
89 | } | 89 | } |
90 | 90 | ||
91 | static void iss_model_ipi_send(void *arg) | 91 | static void iss_model_ipi_send(int cpu) |
92 | { | 92 | { |
93 | struct cpumask *callmap = arg; | 93 | idu_irq_assert(cpu); |
94 | unsigned int cpu; | ||
95 | |||
96 | for_each_cpu(cpu, callmap) | ||
97 | idu_irq_assert(cpu); | ||
98 | } | 94 | } |
99 | 95 | ||
100 | static void iss_model_ipi_clear(int cpu, int irq) | 96 | static void iss_model_ipi_clear(int irq) |
101 | { | 97 | { |
102 | idu_irq_clear(IDU_INTERRUPT_0 + cpu); | 98 | idu_irq_clear(IDU_INTERRUPT_0 + smp_processor_id()); |
103 | } | 99 | } |
104 | 100 | ||
105 | void iss_model_init_early_smp(void) | 101 | void iss_model_init_early_smp(void) |