Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 259081
b: refs/heads/master
c: 9ca980d
h: refs/heads/master
i:
  259079: b5f9840
v: v3
  • Loading branch information
Paul Mackerras authored and Benjamin Herrenschmidt committed Jun 20, 2011
1 parent d74a83a commit b034172
Show file tree
Hide file tree
Showing 7 changed files with 20 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 7ac87abb8166b99584149fcfb2efef5773a078e9
refs/heads/master: 9ca980dce523760ce04a798470d36fd5aa596b78
18 changes: 14 additions & 4 deletions trunk/arch/powerpc/kernel/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -238,23 +238,33 @@ irqreturn_t smp_ipi_demux(void)
}
#endif /* CONFIG_PPC_SMP_MUXED_IPI */

static inline void do_message_pass(int cpu, int msg)
{
if (smp_ops->message_pass)
smp_ops->message_pass(cpu, msg);
#ifdef CONFIG_PPC_SMP_MUXED_IPI
else
smp_muxed_ipi_message_pass(cpu, msg);
#endif
}

void smp_send_reschedule(int cpu)
{
if (likely(smp_ops))
smp_ops->message_pass(cpu, PPC_MSG_RESCHEDULE);
do_message_pass(cpu, PPC_MSG_RESCHEDULE);
}

void arch_send_call_function_single_ipi(int cpu)
{
smp_ops->message_pass(cpu, PPC_MSG_CALL_FUNC_SINGLE);
do_message_pass(cpu, PPC_MSG_CALL_FUNC_SINGLE);
}

void arch_send_call_function_ipi_mask(const struct cpumask *mask)
{
unsigned int cpu;

for_each_cpu(cpu, mask)
smp_ops->message_pass(cpu, PPC_MSG_CALL_FUNCTION);
do_message_pass(cpu, PPC_MSG_CALL_FUNCTION);
}

#if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC)
Expand All @@ -268,7 +278,7 @@ void smp_send_debugger_break(void)

for_each_online_cpu(cpu)
if (cpu != me)
smp_ops->message_pass(cpu, PPC_MSG_DEBUGGER_BREAK);
do_message_pass(cpu, PPC_MSG_DEBUGGER_BREAK);
}
#endif

Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/powerpc/platforms/85xx/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ void __init mpc85xx_smp_init(void)
}

if (cpu_has_feature(CPU_FTR_DBELL)) {
smp_85xx_ops.message_pass = smp_muxed_ipi_message_pass;
/* .message_pass defaults to smp_muxed_ipi_message_pass */
smp_85xx_ops.cause_ipi = doorbell_cause_ipi;
}

Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/powerpc/platforms/iseries/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ static void __devinit smp_iSeries_setup_cpu(int nr)
}

static struct smp_ops_t iSeries_smp_ops = {
.message_pass = smp_muxed_ipi_message_pass,
.message_pass = NULL, /* Use smp_muxed_ipi_message_pass */
.cause_ipi = smp_iSeries_cause_ipi,
.probe = smp_iSeries_probe,
.kick_cpu = smp_iSeries_kick_cpu,
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/powerpc/platforms/powermac/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -447,7 +447,7 @@ void __init smp_psurge_give_timebase(void)

/* PowerSurge-style Macs */
struct smp_ops_t psurge_smp_ops = {
.message_pass = smp_muxed_ipi_message_pass,
.message_pass = NULL, /* Use smp_muxed_ipi_message_pass */
.cause_ipi = smp_psurge_cause_ipi,
.probe = smp_psurge_probe,
.kick_cpu = smp_psurge_kick_cpu,
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/powerpc/platforms/pseries/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ static struct smp_ops_t pSeries_mpic_smp_ops = {
};

static struct smp_ops_t pSeries_xics_smp_ops = {
.message_pass = smp_muxed_ipi_message_pass,
.message_pass = NULL, /* Use smp_muxed_ipi_message_pass */
.cause_ipi = NULL, /* Filled at runtime by xics_smp_probe() */
.probe = xics_smp_probe,
.kick_cpu = smp_pSeries_kick_cpu,
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/powerpc/platforms/wsp/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ static int __init smp_a2_probe(void)
}

static struct smp_ops_t a2_smp_ops = {
.message_pass = smp_muxed_ipi_message_pass,
.message_pass = NULL, /* Use smp_muxed_ipi_message_pass */
.cause_ipi = doorbell_cause_ipi,
.probe = smp_a2_probe,
.kick_cpu = smp_a2_kick_cpu,
Expand Down

0 comments on commit b034172

Please sign in to comment.