aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/pseries/xics.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/platforms/pseries/xics.c')
-rw-r--r--arch/powerpc/platforms/pseries/xics.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/arch/powerpc/platforms/pseries/xics.c b/arch/powerpc/platforms/pseries/xics.c
index 253972e5479f..f6bd2f285153 100644
--- a/arch/powerpc/platforms/pseries/xics.c
+++ b/arch/powerpc/platforms/pseries/xics.c
@@ -324,7 +324,7 @@ static unsigned int xics_get_irq_lpar(struct pt_regs *regs)
324 324
325#ifdef CONFIG_SMP 325#ifdef CONFIG_SMP
326 326
327static irqreturn_t xics_ipi_dispatch(int cpu, struct pt_regs *regs) 327static irqreturn_t xics_ipi_dispatch(int cpu)
328{ 328{
329 WARN_ON(cpu_is_offline(cpu)); 329 WARN_ON(cpu_is_offline(cpu));
330 330
@@ -332,47 +332,47 @@ static irqreturn_t xics_ipi_dispatch(int cpu, struct pt_regs *regs)
332 if (test_and_clear_bit(PPC_MSG_CALL_FUNCTION, 332 if (test_and_clear_bit(PPC_MSG_CALL_FUNCTION,
333 &xics_ipi_message[cpu].value)) { 333 &xics_ipi_message[cpu].value)) {
334 mb(); 334 mb();
335 smp_message_recv(PPC_MSG_CALL_FUNCTION, regs); 335 smp_message_recv(PPC_MSG_CALL_FUNCTION);
336 } 336 }
337 if (test_and_clear_bit(PPC_MSG_RESCHEDULE, 337 if (test_and_clear_bit(PPC_MSG_RESCHEDULE,
338 &xics_ipi_message[cpu].value)) { 338 &xics_ipi_message[cpu].value)) {
339 mb(); 339 mb();
340 smp_message_recv(PPC_MSG_RESCHEDULE, regs); 340 smp_message_recv(PPC_MSG_RESCHEDULE);
341 } 341 }
342#if 0 342#if 0
343 if (test_and_clear_bit(PPC_MSG_MIGRATE_TASK, 343 if (test_and_clear_bit(PPC_MSG_MIGRATE_TASK,
344 &xics_ipi_message[cpu].value)) { 344 &xics_ipi_message[cpu].value)) {
345 mb(); 345 mb();
346 smp_message_recv(PPC_MSG_MIGRATE_TASK, regs); 346 smp_message_recv(PPC_MSG_MIGRATE_TASK);
347 } 347 }
348#endif 348#endif
349#if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC) 349#if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC)
350 if (test_and_clear_bit(PPC_MSG_DEBUGGER_BREAK, 350 if (test_and_clear_bit(PPC_MSG_DEBUGGER_BREAK,
351 &xics_ipi_message[cpu].value)) { 351 &xics_ipi_message[cpu].value)) {
352 mb(); 352 mb();
353 smp_message_recv(PPC_MSG_DEBUGGER_BREAK, regs); 353 smp_message_recv(PPC_MSG_DEBUGGER_BREAK);
354 } 354 }
355#endif 355#endif
356 } 356 }
357 return IRQ_HANDLED; 357 return IRQ_HANDLED;
358} 358}
359 359
360static irqreturn_t xics_ipi_action_direct(int irq, void *dev_id, struct pt_regs *regs) 360static irqreturn_t xics_ipi_action_direct(int irq, void *dev_id)
361{ 361{
362 int cpu = smp_processor_id(); 362 int cpu = smp_processor_id();
363 363
364 direct_qirr_info(cpu, 0xff); 364 direct_qirr_info(cpu, 0xff);
365 365
366 return xics_ipi_dispatch(cpu, regs); 366 return xics_ipi_dispatch(cpu);
367} 367}
368 368
369static irqreturn_t xics_ipi_action_lpar(int irq, void *dev_id, struct pt_regs *regs) 369static irqreturn_t xics_ipi_action_lpar(int irq, void *dev_id)
370{ 370{
371 int cpu = smp_processor_id(); 371 int cpu = smp_processor_id();
372 372
373 lpar_qirr_info(cpu, 0xff); 373 lpar_qirr_info(cpu, 0xff);
374 374
375 return xics_ipi_dispatch(cpu, regs); 375 return xics_ipi_dispatch(cpu);
376} 376}
377 377
378void xics_cause_IPI(int cpu) 378void xics_cause_IPI(int cpu)