Messages in this thread | | | From | "Gautham R. Shenoy" <> | Subject | [PATCH 0/3] powernv:stop: Some fixes for handling deep stop | Date | Wed, 12 Apr 2017 17:16:19 +0530 |
| |
From: "Gautham R. Shenoy" <ego@linux.vnet.ibm.com>
Hi,
This patchset contains three fixes required to get a deep stop state that can lose the Hypervisor state to work correctly.
The first patch in the series uses the correct value for the IDLE_THREAD_BITS on POWER8 which has 8 threads per core and on POWER9 which has 4 threads per core.
The second patch decouples restoring Timebase from restoring per-core spr state as the current code assumes that if the timebase is not lost then neither is per-core state. This was true on POWER8, but no longer true on POWER9.
The third patch in the series sets the UPRT bit in LPCR on wakeup from a deep stop if we are running in radix mode, without which the kernel crashes once we switch to virtual mode.
These patches are on top of the patches for fixing CPU-Hotplug on POWER9 DD1.0 (https://lkml.org/lkml/2017/3/22/472) and Nicholas Piggin's idle fixes and changes for POWER8 and POWER9 (https://lists.ozlabs.org/pipermail/linuxppc-dev/2017-March/155608.html)
Gautham R. Shenoy (3): powernv:idle: Use correct IDLE_THREAD_BITS in POWER8 vs POWER9 powernv:idle: Decouple TB restore & Per-core SPRs restore powernv:idle: Set LPCR_UPRT on wakeup from deep-stop
arch/powerpc/include/asm/cpuidle.h | 3 ++- arch/powerpc/kernel/idle_book3s.S | 29 +++++++++++++++++++++++------ arch/powerpc/platforms/powernv/idle.c | 5 ++++- 3 files changed, 29 insertions(+), 8 deletions(-)
-- 1.9.4
| |