blob: 39952628932041831fd556de62e37548799e9d24 [file] [log] [blame]
Thomas Gleixnerec8f24b2019-05-19 13:07:45 +01001# SPDX-License-Identifier: GPL-2.0-only
Linus Torvalds1da177e2005-04-16 15:20:36 -07002#
Dave Jonesbb0a56e2011-05-19 18:51:07 -04003# x86 CPU Frequency scaling drivers
Linus Torvalds1da177e2005-04-16 15:20:36 -07004#
5
Dirk Brandewie93f08222013-02-06 09:02:13 -08006config X86_INTEL_PSTATE
Krzysztof Kozlowskicde10f82019-11-21 04:19:15 +01007 bool "Intel P state control"
8 depends on X86
9 select ACPI_PROCESSOR if ACPI
10 select ACPI_CPPC_LIB if X86_64 && ACPI && SCHED_MC_PRIO
Rafael J. Wysockia00ec382020-03-26 20:24:35 +010011 select CPU_FREQ_GOV_PERFORMANCE
12 select CPU_FREQ_GOV_SCHEDUTIL if SMP
Krzysztof Kozlowskicde10f82019-11-21 04:19:15 +010013 help
14 This driver provides a P state for Intel core processors.
Dirk Brandewie93f08222013-02-06 09:02:13 -080015 The driver implements an internal governor and will become
Krzysztof Kozlowskicde10f82019-11-21 04:19:15 +010016 the scaling driver and governor for Sandy bridge processors.
Dirk Brandewie93f08222013-02-06 09:02:13 -080017
Stratos Karafotis735dc242014-04-22 22:40:10 +030018 When this driver is enabled it will become the preferred
Krzysztof Kozlowskicde10f82019-11-21 04:19:15 +010019 scaling driver for Sandy bridge processors.
Dirk Brandewie93f08222013-02-06 09:02:13 -080020
Dirk Brandewie93f08222013-02-06 09:02:13 -080021 If in doubt, say N.
22
Naga Chumbalkar0f1d6832009-12-17 20:18:27 +000023config X86_PCC_CPUFREQ
24 tristate "Processor Clocking Control interface driver"
25 depends on ACPI && ACPI_PROCESSOR
26 help
27 This driver adds support for the PCC interface.
28
29 For details, take a look at:
Mauro Carvalho Chehabc3419b72020-03-03 14:52:02 +010030 <file:Documentation/admin-guide/pm/cpufreq_drivers.rst>.
Naga Chumbalkar0f1d6832009-12-17 20:18:27 +000031
32 To compile this driver as a module, choose M here: the
33 module will be called pcc-cpufreq.
34
35 If in doubt, say N.
36
Linus Torvalds1da177e2005-04-16 15:20:36 -070037config X86_ACPI_CPUFREQ
38 tristate "ACPI Processor P-States driver"
Linus Torvalds1da177e2005-04-16 15:20:36 -070039 depends on ACPI_PROCESSOR
40 help
41 This driver adds a CPUFreq driver which utilizes the ACPI
42 Processor Performance States.
Matthew Garrett3dc9a6332012-09-04 08:28:02 +000043 This driver also supports Intel Enhanced Speedstep and newer
44 AMD CPUs.
Linus Torvalds1da177e2005-04-16 15:20:36 -070045
Sam Ravnborge8ef9522007-11-06 19:35:19 +010046 To compile this driver as a module, choose M here: the
47 module will be called acpi-cpufreq.
48
Linus Torvalds1da177e2005-04-16 15:20:36 -070049 For details, take a look at <file:Documentation/cpu-freq/>.
50
51 If in doubt, say N.
52
Andre Przywara11269ff2012-09-04 08:28:08 +000053config X86_ACPI_CPUFREQ_CPB
54 default y
55 bool "Legacy cpb sysfs knob support for AMD CPUs"
56 depends on X86_ACPI_CPUFREQ && CPU_SUP_AMD
57 help
58 The powernow-k8 driver used to provide a sysfs knob called "cpb"
59 to disable the Core Performance Boosting feature of AMD CPUs. This
Stratos Karafotis735dc242014-04-22 22:40:10 +030060 file has now been superseded by the more generic "boost" entry.
Andre Przywara11269ff2012-09-04 08:28:08 +000061
62 By enabling this option the acpi_cpufreq driver provides the old
63 entry in addition to the new boost ones, for compatibility reasons.
64
Srinidhi Kasagare7ddf4b2014-12-19 23:13:51 +053065config X86_SFI_CPUFREQ
66 tristate "SFI Performance-States driver"
67 depends on X86_INTEL_MID && SFI
68 help
69 This adds a CPUFreq driver for some Silvermont based Intel Atom
70 architectures like Z34xx and Z35xx which enumerate processor
71 performance states through SFI.
72
73 If in doubt, say N.
74
Linus Torvalds1da177e2005-04-16 15:20:36 -070075config ELAN_CPUFREQ
Dave Jonesbf6fc9f2005-05-31 19:03:45 -070076 tristate "AMD Elan SC400 and SC410"
Ian Campbellce9c99a2011-04-08 07:42:29 +010077 depends on MELAN
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +090078 help
Linus Torvalds1da177e2005-04-16 15:20:36 -070079 This adds the CPUFreq driver for AMD Elan SC400 and SC410
80 processors.
81
82 You need to specify the processor maximum speed as boot
83 parameter: elanfreq=maxspeed (in kHz) or as module
84 parameter "max_freq".
85
86 For details, take a look at <file:Documentation/cpu-freq/>.
87
88 If in doubt, say N.
89
Dave Jonesbf6fc9f2005-05-31 19:03:45 -070090config SC520_CPUFREQ
91 tristate "AMD Elan SC520"
Ian Campbellce9c99a2011-04-08 07:42:29 +010092 depends on MELAN
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +090093 help
Dave Jonesbf6fc9f2005-05-31 19:03:45 -070094 This adds the CPUFreq driver for AMD Elan SC520 processor.
95
96 For details, take a look at <file:Documentation/cpu-freq/>.
97
98 If in doubt, say N.
99
100
Linus Torvalds1da177e2005-04-16 15:20:36 -0700101config X86_POWERNOW_K6
102 tristate "AMD Mobile K6-2/K6-3 PowerNow!"
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100103 depends on X86_32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700104 help
105 This adds the CPUFreq driver for mobile AMD K6-2+ and mobile
106 AMD K6-3+ processors.
107
108 For details, take a look at <file:Documentation/cpu-freq/>.
109
110 If in doubt, say N.
111
112config X86_POWERNOW_K7
113 tristate "AMD Mobile Athlon/Duron PowerNow!"
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100114 depends on X86_32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700115 help
116 This adds the CPUFreq driver for mobile AMD K7 mobile processors.
117
118 For details, take a look at <file:Documentation/cpu-freq/>.
119
120 If in doubt, say N.
121
122config X86_POWERNOW_K7_ACPI
123 bool
124 depends on X86_POWERNOW_K7 && ACPI_PROCESSOR
125 depends on !(X86_POWERNOW_K7 = y && ACPI_PROCESSOR = m)
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100126 depends on X86_32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700127 default y
128
129config X86_POWERNOW_K8
130 tristate "AMD Opteron/Athlon64 PowerNow!"
Borislav Petkov631e8ac2013-01-18 00:19:37 +0100131 depends on ACPI && ACPI_PROCESSOR && X86_ACPI_CPUFREQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700132 help
Andre Przywara034be8f2012-09-04 08:28:04 +0000133 This adds the CPUFreq driver for K8/early Opteron/Athlon64 processors.
134 Support for K10 and newer processors is now in acpi-cpufreq.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700135
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100136 To compile this driver as a module, choose M here: the
137 module will be called powernow-k8.
138
Linus Torvalds1da177e2005-04-16 15:20:36 -0700139 For details, take a look at <file:Documentation/cpu-freq/>.
140
Jacob Shin9c5320c2013-04-04 16:19:04 +0000141config X86_AMD_FREQ_SENSITIVITY
142 tristate "AMD frequency sensitivity feedback powersave bias"
143 depends on CPU_FREQ_GOV_ONDEMAND && X86_ACPI_CPUFREQ && CPU_SUP_AMD
144 help
145 This adds AMD-specific powersave bias function to the ondemand
146 governor, which allows it to make more power-conscious frequency
Masanari Iida8c881262013-09-29 20:54:15 +0900147 change decisions based on feedback from hardware (available on AMD
Jacob Shin9c5320c2013-04-04 16:19:04 +0000148 Family 16h and above).
149
150 Hardware feedback tells software how "sensitive" to frequency changes
151 the CPUs' workloads are. CPU-bound workloads will be more sensitive
152 -- they will perform better as frequency increases. Memory/IO-bound
153 workloads will be less sensitive -- they will not necessarily perform
154 better as frequency increases.
155
156 If in doubt, say N.
157
Linus Torvalds1da177e2005-04-16 15:20:36 -0700158config X86_GX_SUSPMOD
159 tristate "Cyrix MediaGX/NatSemi Geode Suspend Modulation"
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100160 depends on X86_32 && PCI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700161 help
162 This add the CPUFreq driver for NatSemi Geode processors which
163 support suspend modulation.
164
165 For details, take a look at <file:Documentation/cpu-freq/>.
166
167 If in doubt, say N.
168
169config X86_SPEEDSTEP_CENTRINO
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100170 tristate "Intel Enhanced SpeedStep (deprecated)"
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100171 select X86_SPEEDSTEP_CENTRINO_TABLE if X86_32
172 depends on X86_32 || (X86_64 && ACPI_PROCESSOR)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700173 help
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100174 This is deprecated and this functionality is now merged into
175 acpi_cpufreq (X86_ACPI_CPUFREQ). Use that driver instead of
176 speedstep_centrino.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700177 This adds the CPUFreq driver for Enhanced SpeedStep enabled
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100178 mobile CPUs. This means Intel Pentium M (Centrino) CPUs
179 or 64bit enabled Intel Xeons.
180
181 To compile this driver as a module, choose M here: the
182 module will be called speedstep-centrino.
Dave Jones388d6c52006-03-11 16:04:53 -0500183
Linus Torvalds1da177e2005-04-16 15:20:36 -0700184 For details, take a look at <file:Documentation/cpu-freq/>.
Dave Jones388d6c52006-03-11 16:04:53 -0500185
Linus Torvalds1da177e2005-04-16 15:20:36 -0700186 If in doubt, say N.
187
Linus Torvalds1da177e2005-04-16 15:20:36 -0700188config X86_SPEEDSTEP_CENTRINO_TABLE
189 bool "Built-in tables for Banias CPUs"
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100190 depends on X86_32 && X86_SPEEDSTEP_CENTRINO
Linus Torvalds1da177e2005-04-16 15:20:36 -0700191 default y
192 help
193 Use built-in tables for Banias CPUs if ACPI encoding
194 is not available.
195
196 If in doubt, say N.
197
198config X86_SPEEDSTEP_ICH
199 tristate "Intel Speedstep on ICH-M chipsets (ioport interface)"
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100200 depends on X86_32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700201 help
202 This adds the CPUFreq driver for certain mobile Intel Pentium III
203 (Coppermine), all mobile Intel Pentium III-M (Tualatin) and all
Dave Jones388d6c52006-03-11 16:04:53 -0500204 mobile Intel Pentium 4 P4-M on systems which have an Intel ICH2,
Linus Torvalds1da177e2005-04-16 15:20:36 -0700205 ICH3 or ICH4 southbridge.
206
207 For details, take a look at <file:Documentation/cpu-freq/>.
208
209 If in doubt, say N.
210
211config X86_SPEEDSTEP_SMI
212 tristate "Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)"
Kees Cook0f194b562012-10-02 11:16:53 -0700213 depends on X86_32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700214 help
215 This adds the CPUFreq driver for certain mobile Intel Pentium III
Dave Jones388d6c52006-03-11 16:04:53 -0500216 (Coppermine), all mobile Intel Pentium III-M (Tualatin)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700217 on systems which have an Intel 440BX/ZX/MX southbridge.
218
219 For details, take a look at <file:Documentation/cpu-freq/>.
220
221 If in doubt, say N.
222
223config X86_P4_CLOCKMOD
224 tristate "Intel Pentium 4 clock modulation"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700225 help
226 This adds the CPUFreq driver for Intel Pentium 4 / XEON
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100227 processors. When enabled it will lower CPU temperature by skipping
228 clocks.
229
230 This driver should be only used in exceptional
231 circumstances when very low power is needed because it causes severe
232 slowdowns and noticeable latencies. Normally Speedstep should be used
233 instead.
234
235 To compile this driver as a module, choose M here: the
236 module will be called p4-clockmod.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700237
238 For details, take a look at <file:Documentation/cpu-freq/>.
239
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100240 Unless you are absolutely sure say N.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700241
242config X86_CPUFREQ_NFORCE2
243 tristate "nVidia nForce2 FSB changing"
Kees Cook0f194b562012-10-02 11:16:53 -0700244 depends on X86_32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700245 help
246 This adds the CPUFreq driver for FSB changing on nVidia nForce2
247 platforms.
248
249 For details, take a look at <file:Documentation/cpu-freq/>.
250
251 If in doubt, say N.
252
253config X86_LONGRUN
254 tristate "Transmeta LongRun"
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100255 depends on X86_32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700256 help
257 This adds the CPUFreq driver for Transmeta Crusoe and Efficeon processors
258 which support LongRun.
259
260 For details, take a look at <file:Documentation/cpu-freq/>.
261
262 If in doubt, say N.
263
264config X86_LONGHAUL
265 tristate "VIA Cyrix III Longhaul"
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100266 depends on X86_32 && ACPI_PROCESSOR
Linus Torvalds1da177e2005-04-16 15:20:36 -0700267 help
Dave Jones388d6c52006-03-11 16:04:53 -0500268 This adds the CPUFreq driver for VIA Samuel/CyrixIII,
269 VIA Cyrix Samuel/C3, VIA Cyrix Ezra and VIA Cyrix Ezra-T
Linus Torvalds1da177e2005-04-16 15:20:36 -0700270 processors.
271
272 For details, take a look at <file:Documentation/cpu-freq/>.
273
274 If in doubt, say N.
275
Rafa³ Bilski86acd492007-02-05 19:57:25 +0100276config X86_E_POWERSAVER
Harald Welte0fea6152009-06-08 18:29:36 +0800277 tristate "VIA C7 Enhanced PowerSaver (DANGEROUS)"
Rafał Bilskib5f14722013-05-19 19:27:55 +0000278 depends on X86_32 && ACPI_PROCESSOR
Rafa³ Bilski86acd492007-02-05 19:57:25 +0100279 help
Harald Welte0fea6152009-06-08 18:29:36 +0800280 This adds the CPUFreq driver for VIA C7 processors. However, this driver
281 does not have any safeguards to prevent operating the CPU out of spec
282 and is thus considered dangerous. Please use the regular ACPI cpufreq
283 driver, enabled by CONFIG_X86_ACPI_CPUFREQ.
Rafa³ Bilski86acd492007-02-05 19:57:25 +0100284
285 If in doubt, say N.
286
Linus Torvalds1da177e2005-04-16 15:20:36 -0700287comment "shared options"
288
Linus Torvalds1da177e2005-04-16 15:20:36 -0700289config X86_SPEEDSTEP_LIB
290 tristate
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100291 default (X86_SPEEDSTEP_ICH || X86_SPEEDSTEP_SMI || X86_P4_CLOCKMOD)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700292
293config X86_SPEEDSTEP_RELAXED_CAP_CHECK
294 bool "Relaxed speedstep capability checks"
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100295 depends on X86_32 && (X86_SPEEDSTEP_SMI || X86_SPEEDSTEP_ICH)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700296 help
Dave Jones388d6c52006-03-11 16:04:53 -0500297 Don't perform all checks for a speedstep capable system which would
298 normally be done. Some ancient or strange systems, though speedstep
299 capable, don't always indicate that they are speedstep capable. This
Linus Torvalds1da177e2005-04-16 15:20:36 -0700300 option lets the probing code bypass some of those checks if the
301 parameter "relaxed_check=1" is passed to the module.
302