• Gautham R. Shenoy's avatar
    powerpc/powernv: Clear PECE1 in LPCR via stop-api only on Hotplug · 24be85a2
    Gautham R. Shenoy authored
    Currently we use the stop-api provided by the firmware to program the
    SLW engine to restore the values of hypervisor resources that get lost
    on deeper idle states (such as winkle). Since the deep states were
    only used for CPU-Hotplug on POWER8 systems, we would program the LPCR
    to have the PECE1 bit since Hotplugged CPUs shouldn't be spuriously
    woken up by decrementer.
    
    On POWER9, some of the deep platform idle states such as stop4 can be
    used in cpuidle as well. In this case, we want the CPU in stop4 to be
    woken up by the decrementer when some timer on the CPU expires.
    
    In this patch, we program the stop-api for LPCR with PECE1
    bit cleared only when we are offlining the CPU and set it
    back once the CPU is online.
    Signed-off-by: default avatarGautham R. Shenoy <ego@linux.vnet.ibm.com>
    Reviewed-by: default avatarNicholas Piggin <npiggin@gmail.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    24be85a2
idle.c 18.6 KB