Re: [PATCH][RFC] platform/x86: intel_speed_select: Use static_cpu_has for HWP check
From: srinivas pandruvada
Date: Sat Feb 28 2026 - 02:06:26 EST
On Fri, 2026-02-27 at 22:51 -0500, lirongqing wrote:
> From: Li RongQing <lirongqing@xxxxxxxxx>
>
> The current implementation of disable_dynamic_sst_features() reads
> MSR_PM_ENABLE to check if HWP is enabled. This can be optimized by
> using static_cpu_has(X86_FEATURE_HWP), which is the standard way
> in the kernel to check for HWP support without the overhead of
> an MSR read.
>
> Replace the MSR read with static_cpu_has().
>
That is not same. Presence of HWP feature means that HWP can be enabled
on this SoC. But user can boot with option to not enable HWP by
intel_pstate driver.
If HWP is not enabled, then SST features can't be enabled.
Thanks,
Srinivas
> Signed-off-by: Li RongQing <lirongqing@xxxxxxxxx>
> ---
> drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c | 5 +---
> -
> 1 file changed, 1 insertion(+), 4 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 b8cdaa2..416620b 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
> @@ -556,10 +556,7 @@ static struct tpmi_per_power_domain_info
> *get_instance(int pkg_id, int power_dom
>
> static bool disable_dynamic_sst_features(void)
> {
> - u64 value;
> -
> - rdmsrq(MSR_PM_ENABLE, value);
> - return !(value & 0x1);
> + return !static_cpu_has(X86_FEATURE_HWP);
> }
>
> #define _read_cp_info(name_str, name, offset, start, width,
> mult_factor)\