2024-02-29 00:27:21

by srinivas pandruvada

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

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 <[email protected]>
---
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);
--
2.40.1



2024-02-29 12:33:16

by Ilpo Järvinen

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

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 <[email protected]>

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);
>


2024-02-29 18:29:08

by srinivas pandruvada

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

On Thu, 2024-02-29 at 14:32 +0200, Ilpo Järvinen wrote:
> 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
> > <[email protected]>
>
> Is this a fix? (It's lacking the tag if it is).
This is not a fix. This is a feature request from a customer.
Some customer wants to use in certain way.

Thanks,
Srinivas

>


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


On 2/28/24 4:26 PM, 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 <[email protected]>
> ---

Looks good to me.

Reviewed-by: Kuppuswamy Sathyanarayanan <[email protected]>

> 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);

--
Sathyanarayanan Kuppuswamy
Linux Kernel Developer


2024-03-04 14:33:50

by Ilpo Järvinen

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

On Wed, 28 Feb 2024 16:26:59 -0800, 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.
>
> [...]


Thank you for your contribution, it has been applied to my local
review-ilpo branch. Note it will show up in the public
platform-drivers-x86/review-ilpo branch only once I've pushed my
local branch there, which might take a while.

The list of commits applied:
[1/1] platform/x86: ISST: Allow reading core-power state on HWP disabled systems
commit: 959e640cf7b2d456052b346fa50574242ca56aaa

--
i.