powerpc/85xx: fix timebase sync issue when CONFIG_HOTPLUG_CPU=n
authorXiaoming Ni <nixiaoming@huawei.com>
Wed, 29 Sep 2021 03:36:46 +0000 (11:36 +0800)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 8 Oct 2021 13:15:58 +0000 (00:15 +1100)
commitc45361abb9185b1e172bd75eff51ad5f601ccae4
tree58fb6e81c6cbca2a7a1878d30e7d6d75924be447
parent3c2172c1c47b4079c29f0e6637d764a99355ebcd
powerpc/85xx: fix timebase sync issue when CONFIG_HOTPLUG_CPU=n

When CONFIG_SMP=y, timebase synchronization is required when the second
kernel is started.

arch/powerpc/kernel/smp.c:
  int __cpu_up(unsigned int cpu, struct task_struct *tidle)
  {
   ...
   if (smp_ops->give_timebase)
   smp_ops->give_timebase();
   ...
  }

  void start_secondary(void *unused)
  {
   ...
   if (smp_ops->take_timebase)
   smp_ops->take_timebase();
   ...
  }

When CONFIG_HOTPLUG_CPU=n and CONFIG_KEXEC_CORE=n,
 smp_85xx_ops.give_timebase is NULL,
 smp_85xx_ops.take_timebase is NULL,
As a result, the timebase is not synchronized.

Timebase  synchronization does not depend on CONFIG_HOTPLUG_CPU.

Fixes: 56f1ba280719 ("powerpc/mpc85xx: refactor the PM operations")
Cc: stable@vger.kernel.org # v4.6+
Signed-off-by: Xiaoming Ni <nixiaoming@huawei.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210929033646.39630-3-nixiaoming@huawei.com
arch/powerpc/platforms/85xx/Makefile
arch/powerpc/platforms/85xx/mpc85xx_pm_ops.c
arch/powerpc/platforms/85xx/smp.c