Messages in this thread | | | Subject | Re: [RESEND PATCH v2 2/3] powerpc/powernv: Introduce Self save support | From | Pratik Sampat <> | Date | Mon, 13 Jan 2020 15:21:37 +0530 |
| |
I made a mistake while arranging the patches in the series. I'll re-arrange it correctly now. Sorry about that.
On 13/01/20 1:21 pm, Ram Pai wrote: > On Mon, Jan 13, 2020 at 09:15:08AM +0530, Pratik Rajesh Sampat wrote: >> This commit introduces and leverages the Self save API which OPAL now >> supports. >> >> Add the new Self Save OPAL API call in the list of OPAL calls. >> Implement the self saving of the SPRs based on the support populated >> while respecting it's preferences. >> >> This implementation allows mixing of support for the SPRs, which >> means that a SPR can be self restored while another SPR be self saved if >> they support and prefer it to be so. >> >> Signed-off-by: Pratik Rajesh Sampat <psampat@linux.ibm.com> >> --- >> arch/powerpc/include/asm/opal-api.h | 3 ++- >> arch/powerpc/include/asm/opal.h | 1 + >> arch/powerpc/platforms/powernv/idle.c | 2 ++ >> arch/powerpc/platforms/powernv/opal-call.c | 1 + >> 4 files changed, 6 insertions(+), 1 deletion(-) >> >> diff --git a/arch/powerpc/include/asm/opal-api.h b/arch/powerpc/include/asm/opal-api.h >> index c1f25a760eb1..1b6e1a68d431 100644 >> --- a/arch/powerpc/include/asm/opal-api.h >> +++ b/arch/powerpc/include/asm/opal-api.h >> @@ -214,7 +214,8 @@ >> #define OPAL_SECVAR_GET 176 >> #define OPAL_SECVAR_GET_NEXT 177 >> #define OPAL_SECVAR_ENQUEUE_UPDATE 178 >> -#define OPAL_LAST 178 >> +#define OPAL_SLW_SELF_SAVE_REG 181 >> +#define OPAL_LAST 181 >> >> #define QUIESCE_HOLD 1 /* Spin all calls at entry */ >> #define QUIESCE_REJECT 2 /* Fail all calls with OPAL_BUSY */ >> diff --git a/arch/powerpc/include/asm/opal.h b/arch/powerpc/include/asm/opal.h >> index 9986ac34b8e2..389a85b63805 100644 >> --- a/arch/powerpc/include/asm/opal.h >> +++ b/arch/powerpc/include/asm/opal.h >> @@ -203,6 +203,7 @@ int64_t opal_handle_hmi(void); >> int64_t opal_handle_hmi2(__be64 *out_flags); >> int64_t opal_register_dump_region(uint32_t id, uint64_t start, uint64_t end); >> int64_t opal_unregister_dump_region(uint32_t id); >> +int64_t opal_slw_self_save_reg(uint64_t cpu_pir, uint64_t sprn); >> int64_t opal_slw_set_reg(uint64_t cpu_pir, uint64_t sprn, uint64_t val); >> int64_t opal_config_cpu_idle_state(uint64_t state, uint64_t flag); >> int64_t opal_pci_set_phb_cxl_mode(uint64_t phb_id, uint64_t mode, uint64_t pe_number); >> diff --git a/arch/powerpc/platforms/powernv/idle.c b/arch/powerpc/platforms/powernv/idle.c >> index 2f328403b0dc..d67d4d0b169b 100644 >> --- a/arch/powerpc/platforms/powernv/idle.c >> +++ b/arch/powerpc/platforms/powernv/idle.c >> @@ -1172,6 +1172,8 @@ void pnv_program_cpu_hotplug_lpcr(unsigned int cpu, u64 lpcr_val) >> if (!is_lpcr_self_save) >> opal_slw_set_reg(pir, SPRN_LPCR, >> lpcr_val); >> + else >> + opal_slw_self_save_reg(pir, SPRN_LPCR); > opal_slw_self_save_reg() was used in the prior patch too. How did it > compile, if the definition is in this patch? > > > Reviewed-by: Ram Pai <linuxram@us.ibm.com> > > RP
| |