Re: [PATCH v2 1/9] powerpc/powernv: Move CHECK_HMI_INTERRUPT to exception-64s header

From: Shreyas B Prabhu
Date: Wed May 18 2016 - 03:22:56 EST




On 05/18/2016 10:05 AM, Gautham R Shenoy wrote:
> On Tue, May 03, 2016 at 01:54:30PM +0530, Shreyas B. Prabhu wrote:
>> CHECK_HMI_INTERRUPT is used to check for HMI's in reset vector. Move
>> the macro to a common location (exception-64s.h)
>> This patch does not change any functionality.
>>
>
> I suppose this code movement is to facilitate the invocation of
> CHECK_HMI_INTERRUPT in some later patch ? In this case you could
> add this to the commit message.
>

Ok. I'll do that.

> Otherwise,
> Reviewed-by: Gautham R. Shenoy <ego@xxxxxxxxxxxxxxxxxx>

Thanks for the review.
>> ---
>> arch/powerpc/include/asm/exception-64s.h | 18 ++++++++++++++++++
>> arch/powerpc/kernel/idle_power7.S | 20 +-------------------
>> 2 files changed, 19 insertions(+), 19 deletions(-)
>>
>> diff --git a/arch/powerpc/include/asm/exception-64s.h b/arch/powerpc/include/asm/exception-64s.h
>> index 93ae809..6a625af 100644
>> --- a/arch/powerpc/include/asm/exception-64s.h
>> +++ b/arch/powerpc/include/asm/exception-64s.h
>> @@ -545,4 +545,22 @@ END_FTR_SECTION_IFSET(CPU_FTR_CAN_NAP)
>> #define FINISH_NAP
>> #endif
>>
>> +#define CHECK_HMI_INTERRUPT \
>> + mfspr r0,SPRN_SRR1; \
>> +BEGIN_FTR_SECTION_NESTED(66); \
>> + rlwinm r0,r0,45-31,0xf; /* extract wake reason field (P8) */ \
>> +FTR_SECTION_ELSE_NESTED(66); \
>> + rlwinm r0,r0,45-31,0xe; /* P7 wake reason field is 3 bits */ \
>> +ALT_FTR_SECTION_END_NESTED_IFSET(CPU_FTR_ARCH_207S, 66); \
>> + cmpwi r0,0xa; /* Hypervisor maintenance ? */ \
>> + bne 20f; \
>> + /* Invoke opal call to handle hmi */ \
>> + ld r2,PACATOC(r13); \
>> + ld r1,PACAR1(r13); \
>> + std r3,ORIG_GPR3(r1); /* Save original r3 */ \
>> + li r0,OPAL_HANDLE_HMI; /* Pass opal token argument*/ \
>> + bl opal_call_realmode; \
>> + ld r3,ORIG_GPR3(r1); /* Restore original r3 */ \
>> +20: nop;
>> +
>> #endif /* _ASM_POWERPC_EXCEPTION_H */
>> diff --git a/arch/powerpc/kernel/idle_power7.S b/arch/powerpc/kernel/idle_power7.S
>> index 470ceeb..6b3404b 100644
>> --- a/arch/powerpc/kernel/idle_power7.S
>> +++ b/arch/powerpc/kernel/idle_power7.S
>> @@ -19,6 +19,7 @@
>> #include <asm/kvm_book3s_asm.h>
>> #include <asm/opal.h>
>> #include <asm/cpuidle.h>
>> +#include <asm/exception-64s.h>
>> #include <asm/book3s/64/mmu-hash.h>
>>
>> #undef DEBUG
>> @@ -257,25 +258,6 @@ _GLOBAL(power7_winkle)
>> b power7_powersave_common
>> /* No return */
>>
>> -#define CHECK_HMI_INTERRUPT \
>> - mfspr r0,SPRN_SRR1; \
>> -BEGIN_FTR_SECTION_NESTED(66); \
>> - rlwinm r0,r0,45-31,0xf; /* extract wake reason field (P8) */ \
>> -FTR_SECTION_ELSE_NESTED(66); \
>> - rlwinm r0,r0,45-31,0xe; /* P7 wake reason field is 3 bits */ \
>> -ALT_FTR_SECTION_END_NESTED_IFSET(CPU_FTR_ARCH_207S, 66); \
>> - cmpwi r0,0xa; /* Hypervisor maintenance ? */ \
>> - bne 20f; \
>> - /* Invoke opal call to handle hmi */ \
>> - ld r2,PACATOC(r13); \
>> - ld r1,PACAR1(r13); \
>> - std r3,ORIG_GPR3(r1); /* Save original r3 */ \
>> - li r0,OPAL_HANDLE_HMI; /* Pass opal token argument*/ \
>> - bl opal_call_realmode; \
>> - ld r3,ORIG_GPR3(r1); /* Restore original r3 */ \
>> -20: nop;
>> -
>> -
>> _GLOBAL(power7_wakeup_tb_loss)
>> ld r2,PACATOC(r13);
>> ld r1,PACAR1(r13)
>> --
>> 2.4.11
>>