diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2017-04-13 20:16:21 +1000 |
---|---|---|
committer | Michael Ellerman <mpe@ellerman.id.au> | 2017-04-13 23:34:33 +1000 |
commit | b866cc2199d6a6cdcefe4acfe4cfca3ac3c6d38e (patch) | |
tree | 8baaa55d1ac71d0d18a1d932e561af6751c39c61 /arch/powerpc/include/asm/smp.h | |
parent | 9b7ff0c6586bc0541ebcd1ff6773b11a49f1a058 (diff) | |
download | linux-stable-b866cc2199d6a6cdcefe4acfe4cfca3ac3c6d38e.tar.gz linux-stable-b866cc2199d6a6cdcefe4acfe4cfca3ac3c6d38e.tar.bz2 linux-stable-b866cc2199d6a6cdcefe4acfe4cfca3ac3c6d38e.zip |
powerpc: Change the doorbell IPI calling convention
Change the doorbell callers to know about their msgsnd addressing,
rather than have them set a per-cpu target data tag at boot that gets
sent to the cause_ipi functions. The data is only used for doorbell IPI
functions, no other IPI types, so it makes sense to keep that detail
local to doorbell.
Have the platform code understand doorbell IPIs, rather than the
interrupt controller code understand them. Platform code can look at
capabilities it has available and decide which to use.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/include/asm/smp.h')
-rw-r--r-- | arch/powerpc/include/asm/smp.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/powerpc/include/asm/smp.h b/arch/powerpc/include/asm/smp.h index 63fa780b71a0..d9ed3b02615e 100644 --- a/arch/powerpc/include/asm/smp.h +++ b/arch/powerpc/include/asm/smp.h @@ -40,7 +40,7 @@ extern int cpu_to_chip_id(int cpu); struct smp_ops_t { void (*message_pass)(int cpu, int msg); #ifdef CONFIG_PPC_SMP_MUXED_IPI - void (*cause_ipi)(int cpu, unsigned long data); + void (*cause_ipi)(int cpu); #endif void (*probe)(void); int (*kick_cpu)(int nr); @@ -125,7 +125,6 @@ extern int smp_request_message_ipi(int virq, int message); extern const char *smp_ipi_name[]; /* for irq controllers with only a single ipi */ -extern void smp_muxed_ipi_set_data(int cpu, unsigned long data); extern void smp_muxed_ipi_message_pass(int cpu, int msg); extern void smp_muxed_ipi_set_message(int cpu, int msg); extern irqreturn_t smp_ipi_demux(void); |