Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa4ea34d authored by Ethan Zhao's avatar Ethan Zhao Committed by Rafael J. Wysocki
Browse files

intel_pstate: add kernel parameter to force loading



To force loading on Oracle Sun X86 servers, provide one kernel command line
parameter

  intel_pstate = force

For those who are aware of the risk of no power capping capabily working
and try to get better performance with this driver.

Signed-off-by: default avatarEthan Zhao <ethan.zhao@oracle.com>
Tested-by: default avatarAlexey Kodanev <alexey.kodanev@oracle.com>
Reviewed-by: default avatarLinda Knippers <linda.knippers@hp.com>
Acked-by: default avatarKristen Carlson Accardi <kristen@linux.intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 966916ea
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -1446,6 +1446,15 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
		       disable
		         Do not enable intel_pstate as the default
		         scaling driver for the supported processors
		       force
			 Enable intel_pstate on systems that prohibit it by default
			 in favor of acpi-cpufreq. Forcing the intel_pstate driver
			 instead of acpi-cpufreq may disable platform features, such
			 as thermal controls and power capping, that rely on ACPI
			 P-States information being indicated to OSPM and therefore
			 should be used with caution. This option does not work with
			 processors that aren't supported by the intel_pstate driver
			 or on platforms that use pcc-cpufreq instead of acpi-cpufreq.
		       no_hwp
		         Do not enable hardware P state control (HWP)
			 if available.
+5 −1
Original line number Diff line number Diff line
@@ -948,6 +948,7 @@ static struct cpufreq_driver intel_pstate_driver = {

static int __initdata no_load;
static int __initdata no_hwp;
static unsigned int force_load;

static int intel_pstate_msrs_not_valid(void)
{
@@ -1094,7 +1095,8 @@ static bool intel_pstate_platform_pwr_mgmt_exists(void)
			case PSS:
				return intel_pstate_no_acpi_pss();
			case PPC:
				return intel_pstate_has_acpi_ppc();
				return intel_pstate_has_acpi_ppc() &&
					(!force_load);
			}
	}

@@ -1175,6 +1177,8 @@ static int __init intel_pstate_setup(char *str)
		no_load = 1;
	if (!strcmp(str, "no_hwp"))
		no_hwp = 1;
	if (!strcmp(str, "force"))
		force_load = 1;
	return 0;
}
early_param("intel_pstate", intel_pstate_setup);