Re: [PATCH] platform/x86: ISST: Allow reading core-power state on HWP disabled systems

From: Ilpo Järvinen
Date: Thu Feb 29 2024 - 07:33:16 EST


On Wed, 28 Feb 2024, Srinivas Pandruvada wrote:

> When HWP (Hardware P-states) is disabled, dynamic SST features are
> disabled. But user should still be able to read the current core-power
> state, with legacy P-states. This will allow users to read current
> configuration with static SST enabled from BIOS.
>
> To address this, do not call disable_dynamic_sst_features() when the
> request is for reading the state.
>
> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx>

Is this a fix? (It's lacking the tag if it is).

--
i.

> ---
> drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c b/drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c
> index 2662fbbddf0c..1d918000d72b 100644
> --- a/drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c
> +++ b/drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c
> @@ -462,10 +462,10 @@ static long isst_if_core_power_state(void __user *argp)
> struct tpmi_per_power_domain_info *power_domain_info;
> struct isst_core_power core_power;
>
> - if (disable_dynamic_sst_features())
> + if (copy_from_user(&core_power, argp, sizeof(core_power)))
> return -EFAULT;
>
> - if (copy_from_user(&core_power, argp, sizeof(core_power)))
> + if (core_power.get_set && disable_dynamic_sst_features())
> return -EFAULT;
>
> power_domain_info = get_instance(core_power.socket_id, core_power.power_domain_id);
>