powerpc/xics/opal: Fix processor numbers in OPAL ICP
PATCH 1/1 powerpc/xics/opal: Fix processor numbers in OPAL ICP
When using the OPAL ICP backend we incorrectly pass Linux CPU numbers rather than HW CPU numbers to OPAL.
Signed-off-by Benjamin Herrenschmidt <[email protected]>
Fixes d74361881f0dfe5f9dcac37d1b753a15a2345d8c
---
arch/powerpc/sysdev/xics/icp-opal.c +7 -5
@@ -23,10 +23,10 @@static void icp_opal_teardown_cpu (void ) { -int cpu =smp_processor_id (); +int hw_cpu =hard_smp_processor_id ();/* Clear any pending IPI */ -opal_int_set_mfrr (cpu,0xff ); +opal_int_set_mfrr (hw_cpu,0xff ); }static void icp_opal_flush_ipi (void )
@@ -101,14 +101,16 @@ static void icp_opal_eoi(struct irq_data *d)static void icp_opal_cause_ipi (int cpu,unsigned long data) { -opal_int_set_mfrr (cpu,IPI_PRIORITY ); +int hw_cpu =get_hard_smp_processor_id (cpu); + +opal_int_set_mfrr (hw_cpu,IPI_PRIORITY ); }static irqreturn_t icp_opal_ipi_action (int irq,void *dev_id) { -int cpu =smp_processor_id (); +int hw_cpu =hard_smp_processor_id (); -opal_int_set_mfrr (cpu,0xff ); +opal_int_set_mfrr (hw_cpu,0xff );return smp_ipi_demux (); }
Michael Ellerman
AppliedQuoted 5 lines · Benjamin Herrenschmidt
When using the OPAL ICP backend we incorrectly pass Linux CPU numbers rather than HW CPU numbers to OPAL.
Signed-off-by Benjamin Herrenschmidt <[email protected]>Fixes d74361881f0dfe5f9dcac37d1b753a15a2345d8c
Applied to powerpc fixes, thanks.
https://git.kernel.org/powerpc/c/f8e33475b0da98c4bffc91017a
cheers