Hi Shreyas,

On Tue, May 03, 2016 at 01:54:33PM +0530, Shreyas B. Prabhu wrote:
> power7_powersave_common does common steps needed before entering idle
> state and eventually changes MSR to MSR_IDLE and does rfid to
> power7_enter_nap_mode.
> 
> Make it more generic by passing the rfid address as a function parameter.
> Also make function name more generic.

[..snip..]

> 
>  _GLOBAL(power7_winkle)
> -     li      r3,3
> +     li      r3,PNV_THREAD_WINKLE

This particular change above can go as an independent patch.

> 
>  _GLOBAL(power7_wakeup_tb_loss)
> diff --git a/arch/powerpc/kernel/idle_power_common.S 
> b/arch/powerpc/kernel/idle_power_common.S
> index 05954ae..ff7a541 100644
> --- a/arch/powerpc/kernel/idle_power_common.S
> +++ b/arch/powerpc/kernel/idle_power_common.S
> @@ -21,8 +21,10 @@
>   * To check IRQ_HAPPENED in r4
>   *   0 - don't check
>   *   1 - check
> + *
> + * Address to 'rfid' to in r5
>   */
> -_GLOBAL(power7_powersave_common)
> +_GLOBAL(power_powersave_common)
>       /* Use r3 to pass state nap/sleep/winkle */
>       /* NAP is a state loss, we create a regs frame on the
>        * stack, fill it up with the state we care about and
> @@ -79,13 +81,12 @@ _GLOBAL(power7_powersave_common)
>        * because as soon as we do that, another thread can switch
>        * the MMU context to the guest.
>        */
> -     LOAD_REG_IMMEDIATE(r5, MSR_IDLE)
> +     LOAD_REG_IMMEDIATE(r7, MSR_IDLE)
>       li      r6, MSR_RI
>       andc    r6, r9, r6
> -     LOAD_REG_ADDR(r7, power7_enter_nap_mode)
>       mtmsrd  r6, 1           /* clear RI before setting SRR0/1 */
> -     mtspr   SPRN_SRR0, r7
> -     mtspr   SPRN_SRR1, r5
> +     mtspr   SPRN_SRR0, r5
> +     mtspr   SPRN_SRR1, r7
>       rfid
>       /* No return */

Any particular reason why you swapped the roles of r5 and r7 ?

--
Thanks and Regards
gautham.

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to