Hi, This is a resend of the previous idle series, with the addition that I accounted for Gautham's feedback, and also re-introduced the feature to avoid full state restore by counting winkles rather than special HSPRG0 bit.
The two big things we get from this, is no longer messing with HSPRG0 in the idle wakeup path on POWER8, and not crashing on POWER9 machine check from power saving mode (tested in mambo according to ISA specs, but have not triggered it on real hardware). I only added the reviewed-by for patches which were not significantly chaged since last time. Thanks, Nick Nicholas Piggin (8): powerpc/64s: move remaining system reset idle code into idle_book3s.S powerpc/64s: stop using bit in HSPRG0 to test winkle powerpc/64s: use alternative feature patching powerpc/64s: fix POWER9 machine check handler from stop state powerpc/64s: use PACA_THREAD_IDLE_STATE only in POWER8 powerpc/64s: idle expand usable core idle state bits powerpc/64s: idle do not hold reservation longer than required powerpc/64s: idle POWER8 avoid full state loss recovery when possible arch/powerpc/include/asm/cpuidle.h | 32 +++++- arch/powerpc/include/asm/exception-64s.h | 13 +-- arch/powerpc/include/asm/paca.h | 12 +- arch/powerpc/include/asm/reg.h | 1 + arch/powerpc/kernel/exceptions-64s.S | 112 ++++++------------ arch/powerpc/kernel/idle_book3s.S | 189 ++++++++++++++++++++----------- arch/powerpc/platforms/powernv/idle.c | 13 --- 7 files changed, 202 insertions(+), 170 deletions(-) -- 2.11.0