From: Rafael J. Wysocki <[email protected]>
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 <[email protected]>
Signed-off-by: Rafael J. Wysocki <[email protected]>
---
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;
Hi Rafael,
Thank you.
On 2020.07.13 06:59 Rafael J. Wysocki wrote:
>
> From: Rafael J. Wysocki <[email protected]>
>
> 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 <[email protected]>
> Signed-off-by: Rafael J. Wysocki <[email protected]>
Acked-by: Doug Smythies <[email protected]>
> ---
> 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;
>