Skip to content
  • Paul Mackerras's avatar
    powerpc/powernv: Fix return value from power7_nap() et al. · f57333a7
    Paul Mackerras authored
    
    
    The power7_nap(), power7_sleep() and power7_winkle() functions are
    called from pnv_smp_cpu_kill_self(), which expects them to return the
    SRR1 value set by the hardware on wakeup, or 0 if no nap/sleep/winkle
    occurred.  However, in the case where an interrupt needs to be
    replayed, the logic in power7_powersave_common (the common code for
    power7_nap et al.) doesn't set r3 to 0 in this case.  Instead what we
    get as the return value is the selector for the type of power-saving
    mode requested (1, 2 or 3).  In fact this should not affect the
    operation of pnv_smp_cpu_kill_self(), but it is better to get this
    correct, so this adds an instruction to set r3 to 0 in this case.
    
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    f57333a7