aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/kernel-parameters.txt9
-rw-r--r--drivers/cpufreq/intel_pstate.c6
2 files changed, 14 insertions, 1 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 5fdf714f40a0..d006bb22f3ca 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -1446,6 +1446,15 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
1446 disable 1446 disable
1447 Do not enable intel_pstate as the default 1447 Do not enable intel_pstate as the default
1448 scaling driver for the supported processors 1448 scaling driver for the supported processors
1449 force
1450 Enable intel_pstate on systems that prohibit it by default
1451 in favor of acpi-cpufreq. Forcing the intel_pstate driver
1452 instead of acpi-cpufreq may disable platform features, such
1453 as thermal controls and power capping, that rely on ACPI
1454 P-States information being indicated to OSPM and therefore
1455 should be used with caution. This option does not work with
1456 processors that aren't supported by the intel_pstate driver
1457 or on platforms that use pcc-cpufreq instead of acpi-cpufreq.
1449 no_hwp 1458 no_hwp
1450 Do not enable hardware P state control (HWP) 1459 Do not enable hardware P state control (HWP)
1451 if available. 1460 if available.
diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
index 1405b393c93d..0e841eecb743 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -948,6 +948,7 @@ static struct cpufreq_driver intel_pstate_driver = {
948 948
949static int __initdata no_load; 949static int __initdata no_load;
950static int __initdata no_hwp; 950static int __initdata no_hwp;
951static unsigned int force_load;
951 952
952static int intel_pstate_msrs_not_valid(void) 953static int intel_pstate_msrs_not_valid(void)
953{ 954{
@@ -1094,7 +1095,8 @@ static bool intel_pstate_platform_pwr_mgmt_exists(void)
1094 case PSS: 1095 case PSS:
1095 return intel_pstate_no_acpi_pss(); 1096 return intel_pstate_no_acpi_pss();
1096 case PPC: 1097 case PPC:
1097 return intel_pstate_has_acpi_ppc(); 1098 return intel_pstate_has_acpi_ppc() &&
1099 (!force_load);
1098 } 1100 }
1099 } 1101 }
1100 1102
@@ -1175,6 +1177,8 @@ static int __init intel_pstate_setup(char *str)
1175 no_load = 1; 1177 no_load = 1;
1176 if (!strcmp(str, "no_hwp")) 1178 if (!strcmp(str, "no_hwp"))
1177 no_hwp = 1; 1179 no_hwp = 1;
1180 if (!strcmp(str, "force"))
1181 force_load = 1;
1178 return 0; 1182 return 0;
1179} 1183}
1180early_param("intel_pstate", intel_pstate_setup); 1184early_param("intel_pstate", intel_pstate_setup);