RE: [PATCH] cpufreq: intel_pstate: Fix active mode setting from command line

From: Doug Smythies
Date: Mon Jul 13 2020 - 11:24:36 EST


Hi Rafael,

Thank you.

On 2020.07.13 06:59 Rafael J. Wysocki wrote:
>
> From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
>
> If intel_pstate starts in the passive mode by default (that happens
> when the processor in the system doesn't support HWP), passing
> intel_pstate=active in the kernel command line doesn't work, so
> fix that.
>
> Fixes: 33aa46f252c7 ("cpufreq: intel_pstate: Use passive mode by default without HWP")
> Reported-by: Doug Smythies <dsmythies@xxxxxxxxx>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>

Acked-by: Doug Smythies <dsmythies@xxxxxxxxx>

> ---
> drivers/cpufreq/intel_pstate.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> Index: linux-pm/drivers/cpufreq/intel_pstate.c
> ===================================================================
> --- linux-pm.orig/drivers/cpufreq/intel_pstate.c
> +++ linux-pm/drivers/cpufreq/intel_pstate.c
> @@ -2534,7 +2534,7 @@ static struct cpufreq_driver intel_cpufr
> .name = "intel_cpufreq",
> };
>
> -static struct cpufreq_driver *default_driver = &intel_pstate;
> +static struct cpufreq_driver *default_driver;
>
> static void intel_pstate_driver_cleanup(void)
> {
> @@ -2828,6 +2828,7 @@ static int __init intel_pstate_init(void
> hwp_active++;
> hwp_mode_bdw = id->driver_data;
> intel_pstate.attr = hwp_cpufreq_attrs;
> + default_driver = &intel_pstate;
> goto hwp_cpu_matched;
> }
> } else {
> @@ -2845,7 +2846,8 @@ static int __init intel_pstate_init(void
> return -ENODEV;
> }
> /* Without HWP start in the passive mode. */
> - default_driver = &intel_cpufreq;
> + if (!default_driver)
> + default_driver = &intel_cpufreq;
>
> hwp_cpu_matched:
> /*
> @@ -2899,6 +2901,8 @@ static int __init intel_pstate_setup(cha
>
> if (!strcmp(str, "disable")) {
> no_load = 1;
> + } else if (!strcmp(str, "active")) {
> + default_driver = &intel_pstate;
> } else if (!strcmp(str, "passive")) {
> default_driver = &intel_cpufreq;
> no_hwp = 1;
>