2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-11 07:04:04 +08:00
linux-next/arch/powerpc/platforms
Gautham R. Shenoy 5d298baa41 powerpc/powernv: Clear LPCR[PECE1] via stop-api only for deep state offline
Commit 24be85a23d ("powerpc/powernv: Clear PECE1 in LPCR via
stop-api only on Hotplug") clears the PECE1 bit of the LPCR via
stop-api during CPU-Hotplug to prevent wakeup due to a decrementer on
an offlined CPU which is in a deep stop state.

In the case where the stop-api support is found to be lacking, the
commit 785a12afdb ("powerpc/powernv/idle: Disable LOSE_FULL_CONTEXT
states when stop-api fails") disables deep states that lose hypervisor
context. Thus in this case, the offlined CPU will be put to some
shallow idle state.

However, we currently unconditionally clear the PECE1 in LPCR via
stop-api during CPU-Hotplug even when deep states are disabled due to
stop-api failure.

Fix this by clearing PECE1 of LPCR via stop-api during CPU-Hotplug
*only* when the offlined CPU will be put to a deep state that loses
hypervisor context.

Fixes: 24be85a23d ("powerpc/powernv: Clear PECE1 in LPCR via stop-api only on Hotplug")
Reported-by: Pavithra Prakash <pavirampu@linux.vnet.ibm.com>
Signed-off-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Tested-by: Pavithra Prakash <pavrampu@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2017-09-20 13:30:09 +10:00
..
4xx powerpc/4xx: Constify cpm_suspend_ops 2017-08-31 19:56:33 +10:00
8xx powerpc/8xx: Fix two CONFIG_8xx left behind 2017-08-14 21:57:33 +10:00
40x powerpc updates for 4.10 2016-12-16 09:26:42 -08:00
44x powerpc/44x: Move 44x machine check handlers into platforms/44x 2017-08-10 23:31:24 +10:00
52xx powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
82xx powerpc/e8248e: Select PHYLIB only if NETDEVICES is enabled 2016-09-24 23:59:47 -05:00
83xx powerpc/83xx: Use sizeof correct type when ioremapping 2017-08-31 14:26:05 +10:00
85xx powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
86xx powerpc: Add struct smp_ops_t.cause_nmi_ipi operation 2017-04-28 21:02:25 +10:00
512x powerpc/512x: Constify clk_div_tables 2017-08-31 14:26:06 +10:00
amigaone powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
cell powerpc updates for 4.14 2017-09-07 10:15:40 -07:00
chrp powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
embedded6xx powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
maple powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
pasemi powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
powermac powerpc: Convert to using %pOF instead of full_name 2017-08-23 22:27:04 +10:00
powernv powerpc/powernv: Clear LPCR[PECE1] via stop-api only for deep state offline 2017-09-20 13:30:09 +10:00
ps3 powerpc: Squash lines for simple wrapper functions 2017-08-31 14:26:42 +10:00
pseries mm: treewide: remove GFP_TEMPORARY allocation flag 2017-09-13 18:53:16 -07:00
fsl_uli1575.c of/irq: Refactor interrupt-map parsing 2013-10-24 11:43:04 +01:00
Kconfig powerpc/book3s64: Move PPC_DT_CPU_FTRs and enable it by default 2017-06-08 20:42:57 +10:00
Kconfig.cputype powerpc/8xx: remove CONFIG_8xx 2017-08-10 23:32:17 +10:00
Makefile powerpc/4xx: Create 4xx pseudo-platform in platforms/4xx 2017-08-10 23:31:30 +10:00