On Fri, Jan 18, 2019 at 11:16:20AM +0530, Pramod Kumar wrote: > If CPU hotplug is supported, ipi_cpu_stop should use PSCI cpudie > call to stop the CPU. This call ensures L1/L2 cache flush, > CPUs cache-cohenrecy setting w.r.to interconnect. > > Apart from this, this gives control to f/w to reduce power consumption > by take appropriate decesion on power rails for plugging-out core. > > Signed-off-by: Pramod Kumar <pramod.ku...@broadcom.com> > Reviewed-by: Ray Jui <ray....@broadcom.com> > Reviewed-by: Scott Branden <scott.bran...@broadcom.com> > --- > arch/arm64/kernel/smp.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c > index 1598d6f..360e52b 100644 > --- a/arch/arm64/kernel/smp.c > +++ b/arch/arm64/kernel/smp.c > @@ -822,8 +822,13 @@ static void ipi_cpu_stop(unsigned int cpu) > local_daif_mask(); > sdei_mask_local_cpu(); > > +#ifdef CONFIG_HOTPLUG_CPU > + if (cpu_ops[cpu]->cpu_die) > + cpu_ops[cpu]->cpu_die(cpu); > +#else > while (1) > cpu_relax(); > +#endif
If cpu_ops[cpu]->cpu_die is NULL, this change makes ipi_cpu_stop() return, which is not correct. Regardless, I don't think that there is sufficient rationale for this change, especially given that your commit message describes platform-specific assumptions which do not hold in general. Thanks, Mark.