android_kernel_xiaomi_sm8450/arch/powerpc/platforms
Xiaoming Ni 1023355234 powerpc/85xx: fix timebase sync issue when CONFIG_HOTPLUG_CPU=n
commit c45361abb9185b1e172bd75eff51ad5f601ccae4 upstream.

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: 56f1ba2807 ("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
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-11-18 14:04:31 +01:00
..
4xx powerpc/4xx: Don't unmap NULL mbase 2020-05-28 23:24:36 +10:00
8xx powerpc/8xx: Fix early debug when SMC1 is relocated 2020-12-30 11:54:16 +01:00
40x powerpc: Remove IBM405 Erratum #77 2020-05-28 23:24:36 +10:00
44x powerpc/44x/fsp2: add missing of_node_put 2021-11-18 14:04:21 +01:00
52xx powerpc/52xx: Fix an invalid ASM expression ('addi' used instead of 'add') 2021-05-14 09:50:42 +02:00
82xx powerpc/82xx: Blacklist pq2_restart() for kprobe 2020-06-02 20:59:09 +10:00
83xx powerpc: Use simple i2c probe function 2020-09-02 11:00:20 +10:00
85xx powerpc/85xx: fix timebase sync issue when CONFIG_HOTPLUG_CPU=n 2021-11-18 14:04:31 +01:00
86xx mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
512x powerpc/512x: Use dma_request_chan() instead dma_request_slave_channel() 2020-01-06 16:25:29 +11:00
amigaone powerpc/32: drop unused ISA_DMA_THRESHOLD 2020-04-01 14:30:50 +11:00
cell powerpc/preempt: Don't touch the idle task's preempt_count during hotplug 2021-07-14 16:56:55 +02:00
chrp mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
embedded6xx powerpc: Drop _nmask_and_or_msr() 2020-09-02 11:00:20 +10:00
maple mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
pasemi powerpc: use for_each_child_of_node() macro 2020-07-29 22:30:33 +10:00
powermac powerpc/powermac: Fix low_sleep_handler with CONFIG_VMAP_STACK 2020-12-30 11:53:43 +01:00
powernv powerpc/powernv/prd: Unregister OPAL_MSG_PRD2 notifier during module unload 2021-11-18 14:04:31 +01:00
ps3 powerpc/ps3: Add dma_mask to ps3_dma_region 2021-07-20 16:05:42 +02:00
pseries powerpc: Fix is_kvm_guest() / kvm_para_available() 2021-11-18 14:04:17 +01:00
fsl_uli1575.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
Kconfig powerpc: Remove CONFIG_PPC601_SYNC_FIX 2020-10-08 21:17:13 +11:00
Kconfig.cputype powerpc/powermac: Fix low_sleep_handler with CONFIG_VMAP_STACK 2020-12-30 11:53:43 +01:00
Makefile powerpc: Add -Werror at arch/powerpc level 2018-10-19 00:56:17 +11:00