aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/kernel-parameters.txt5
-rw-r--r--drivers/cpufreq/Kconfig.x867
-rw-r--r--drivers/cpufreq/intel_pstate.c16
3 files changed, 22 insertions, 6 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 6c723811c0a0..41c5d9ecd9bb 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -1131,6 +1131,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
1131 0 disables intel_idle and fall back on acpi_idle. 1131 0 disables intel_idle and fall back on acpi_idle.
1132 1 to 6 specify maximum depth of C-state. 1132 1 to 6 specify maximum depth of C-state.
1133 1133
1134 intel_pstate= [X86]
1135 disable
1136 Do not enable intel_pstate as the default
1137 scaling driver for the supported processors
1138
1134 intremap= [X86-64, Intel-IOMMU] 1139 intremap= [X86-64, Intel-IOMMU]
1135 on enable Interrupt Remapping (default) 1140 on enable Interrupt Remapping (default)
1136 off disable Interrupt Remapping 1141 off disable Interrupt Remapping
diff --git a/drivers/cpufreq/Kconfig.x86 b/drivers/cpufreq/Kconfig.x86
index 6aa7053ce2ef..98e5abbe8f26 100644
--- a/drivers/cpufreq/Kconfig.x86
+++ b/drivers/cpufreq/Kconfig.x86
@@ -3,7 +3,7 @@
3# 3#
4 4
5config X86_INTEL_PSTATE 5config X86_INTEL_PSTATE
6 tristate "Intel P state control" 6 bool "Intel P state control"
7 depends on X86 7 depends on X86
8 help 8 help
9 This driver provides a P state for Intel core processors. 9 This driver provides a P state for Intel core processors.
@@ -13,11 +13,6 @@ config X86_INTEL_PSTATE
13 When this driver is enabled it will become the perferred 13 When this driver is enabled it will become the perferred
14 scaling driver for Sandy bridge processors. 14 scaling driver for Sandy bridge processors.
15 15
16 Note: This driver should be built with the same settings as
17 the other scaling drivers configured into the system
18 (module/built-in) in order for the driver to register itself
19 as the scaling driver on the system.
20
21 If in doubt, say N. 16 If in doubt, say N.
22 17
23config X86_PCC_CPUFREQ 18config X86_PCC_CPUFREQ
diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
index e87996355da0..096fde0ebcb5 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -773,11 +773,16 @@ static void intel_pstate_exit(void)
773} 773}
774module_exit(intel_pstate_exit); 774module_exit(intel_pstate_exit);
775 775
776static int __initdata no_load;
777
776static int __init intel_pstate_init(void) 778static int __init intel_pstate_init(void)
777{ 779{
778 int rc = 0; 780 int rc = 0;
779 const struct x86_cpu_id *id; 781 const struct x86_cpu_id *id;
780 782
783 if (no_load)
784 return -ENODEV;
785
781 id = x86_match_cpu(intel_pstate_cpu_ids); 786 id = x86_match_cpu(intel_pstate_cpu_ids);
782 if (!id) 787 if (!id)
783 return -ENODEV; 788 return -ENODEV;
@@ -802,6 +807,17 @@ out:
802} 807}
803device_initcall(intel_pstate_init); 808device_initcall(intel_pstate_init);
804 809
810static int __init intel_pstate_setup(char *str)
811{
812 if (!str)
813 return -EINVAL;
814
815 if (!strcmp(str, "disable"))
816 no_load = 1;
817 return 0;
818}
819early_param("intel_pstate", intel_pstate_setup);
820
805MODULE_AUTHOR("Dirk Brandewie <dirk.j.brandewie@intel.com>"); 821MODULE_AUTHOR("Dirk Brandewie <dirk.j.brandewie@intel.com>");
806MODULE_DESCRIPTION("'intel_pstate' - P state driver Intel Core processors"); 822MODULE_DESCRIPTION("'intel_pstate' - P state driver Intel Core processors");
807MODULE_LICENSE("GPL"); 823MODULE_LICENSE("GPL");