Linux Power Management development
 help / color / mirror / Atom feed
From: srinivas pandruvada <srinivas.pandruvada@linux.intel.com>
To: "Rafael J. Wysocki" <rafael@kernel.org>, linux-pm@vger.kernel.org
Cc: Doug Smythies <dsmythies@telus.net>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v1] cpufreq: intel_pstate: Avoid using DESIRED_PERF when DEC is enabled
Date: Tue, 04 Aug 2026 10:58:57 -0700	[thread overview]
Message-ID: <98deef347e027ad29431973f6c4e68772effce00.camel@linux.intel.com> (raw)
In-Reply-To: <5091298.GXAFRqVoOG@rafael.j.wysocki>

On Mon, 2026-08-03 at 20:15 +0200, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> 
> In principle, the desired performance level can be set in
> MSR_HWP_REQUEST
> to indicate to the processor what performance level the OS would like
> the given CPU to run at, but if the Dynamic Efficiency Control (DEC)
> feature is enabled in the processor, doing so may result in confusing
> the processor firmware.  It is then better to let the processor
> firmware
> figure out the most suitable performance level by itself.
> 
> Accordingly, make intel_pstate always set the desired performance
> level
> to zero (which means "no preference") when running on a platform with
> DEC enabled.
> 
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>

> ---
> 
> Applies on top of linux-next.
> 
> ---
>  drivers/cpufreq/intel_pstate.c |    9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> --- a/drivers/cpufreq/intel_pstate.c
> +++ b/drivers/cpufreq/intel_pstate.c
> @@ -303,6 +303,7 @@ static bool per_cpu_limits __ro_after_in
>  static bool hwp_forced __ro_after_init;
>  static bool hwp_boost __read_mostly;
>  static bool hwp_is_hybrid;
> +static u32 hwp_desired_mask __read_mostly = ~0U;
>  
>  static struct cpufreq_driver *intel_pstate_driver __read_mostly;
>  
> @@ -3150,7 +3151,7 @@ static void intel_cpufreq_hwp_update(str
>  	value |= HWP_MAX_PERF(max);
>  
>  	value &= ~HWP_DESIRED_PERF(~0L);
> -	value |= HWP_DESIRED_PERF(desired);
> +	value |= HWP_DESIRED_PERF(desired & hwp_desired_mask);
>  
>  	if (value == prev)
>  		return;
> @@ -3787,6 +3788,7 @@ static int __init intel_pstate_init(void
>  	id = x86_match_cpu(hwp_support_ids);
>  	if (id) {
>  		bool epp_present = hwp_check_epp();
> +		bool dec_present = hwp_check_dec();
>  
>  		/*
>  		 * If HWP is enabled already, there is no choice but
> to deal
> @@ -3798,7 +3800,7 @@ static int __init intel_pstate_init(void
>  			no_hwp = 0;
>  		} else if (no_load) {
>  			return -ENODEV;
> -		} else if (!epp_present && !hwp_check_dec()) {
> +		} else if (!epp_present && !dec_present) {
>  			/*
>  			 * Avoid enabling HWP for processors without
> EPP support
>  			 * unless the Dynamic Efficiency Control
> (DEC) enable
> @@ -3820,6 +3822,9 @@ static int __init intel_pstate_init(void
>  			if (!default_driver)
>  				default_driver = &intel_pstate;
>  
> +			if (dec_present)
> +				hwp_desired_mask = 0;
> +
>  			if (!id->driver_data)
>  				pstate_funcs.get_cpu_scaling =
> hwp_get_cpu_scaling;
>  
> 
> 

      reply	other threads:[~2026-08-04 17:58 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-29  8:59 [PATCH] cpufreq: intel_pstate: Sync policy->cur to the pinned pstate Jing Wu
2026-07-29 18:40 ` [PATCH v1] cpufreq: intel_pstate: Adjust policy->cur in active mode to policy Rafael J. Wysocki
2026-07-29 23:29   ` Doug Smythies
2026-07-30 15:01     ` Doug Smythies
2026-07-31 17:05       ` Rafael J. Wysocki (Intel)
2026-07-31 17:20   ` srinivas pandruvada
2026-08-03 18:15 ` [PATCH v1] cpufreq: intel_pstate: Avoid using DESIRED_PERF when DEC is enabled Rafael J. Wysocki
2026-08-04 17:58   ` srinivas pandruvada [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=98deef347e027ad29431973f6c4e68772effce00.camel@linux.intel.com \
    --to=srinivas.pandruvada@linux.intel.com \
    --cc=dsmythies@telus.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rafael@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox