blob: 92701a18bdd91f6a85c2e821c3e13ad5fc59cffe [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
Linus Torvalds1da177e2005-04-16 15:20:36 -070065config ELAN_CPUFREQ
Dave Jonesbf6fc9f2005-05-31 19:03:45 -070066 tristate "AMD Elan SC400 and SC410"
Ian Campbellce9c99a2011-04-08 07:42:29 +010067 depends on MELAN
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +090068 help
Linus Torvalds1da177e2005-04-16 15:20:36 -070069 This adds the CPUFreq driver for AMD Elan SC400 and SC410
70 processors.
71
72 You need to specify the processor maximum speed as boot
73 parameter: elanfreq=maxspeed (in kHz) or as module
74 parameter "max_freq".
75
76 For details, take a look at <file:Documentation/cpu-freq/>.
77
78 If in doubt, say N.
79
Dave Jonesbf6fc9f2005-05-31 19:03:45 -070080config SC520_CPUFREQ
81 tristate "AMD Elan SC520"
Ian Campbellce9c99a2011-04-08 07:42:29 +010082 depends on MELAN
Masahiro Yamadaa7f7f622020-06-14 01:50:22 +090083 help
Dave Jonesbf6fc9f2005-05-31 19:03:45 -070084 This adds the CPUFreq driver for AMD Elan SC520 processor.
85
86 For details, take a look at <file:Documentation/cpu-freq/>.
87
88 If in doubt, say N.
89
90
Linus Torvalds1da177e2005-04-16 15:20:36 -070091config X86_POWERNOW_K6
92 tristate "AMD Mobile K6-2/K6-3 PowerNow!"
Sam Ravnborge8ef9522007-11-06 19:35:19 +010093 depends on X86_32
Linus Torvalds1da177e2005-04-16 15:20:36 -070094 help
95 This adds the CPUFreq driver for mobile AMD K6-2+ and mobile
96 AMD K6-3+ processors.
97
98 For details, take a look at <file:Documentation/cpu-freq/>.
99
100 If in doubt, say N.
101
102config X86_POWERNOW_K7
103 tristate "AMD Mobile Athlon/Duron PowerNow!"
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100104 depends on X86_32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700105 help
106 This adds the CPUFreq driver for mobile AMD K7 mobile 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_ACPI
113 bool
114 depends on X86_POWERNOW_K7 && ACPI_PROCESSOR
115 depends on !(X86_POWERNOW_K7 = y && ACPI_PROCESSOR = m)
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100116 depends on X86_32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700117 default y
118
119config X86_POWERNOW_K8
120 tristate "AMD Opteron/Athlon64 PowerNow!"
Borislav Petkov631e8ac2013-01-18 00:19:37 +0100121 depends on ACPI && ACPI_PROCESSOR && X86_ACPI_CPUFREQ
Linus Torvalds1da177e2005-04-16 15:20:36 -0700122 help
Andre Przywara034be8f2012-09-04 08:28:04 +0000123 This adds the CPUFreq driver for K8/early Opteron/Athlon64 processors.
124 Support for K10 and newer processors is now in acpi-cpufreq.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700125
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100126 To compile this driver as a module, choose M here: the
127 module will be called powernow-k8.
128
Linus Torvalds1da177e2005-04-16 15:20:36 -0700129 For details, take a look at <file:Documentation/cpu-freq/>.
130
Jacob Shin9c5320c2013-04-04 16:19:04 +0000131config X86_AMD_FREQ_SENSITIVITY
132 tristate "AMD frequency sensitivity feedback powersave bias"
133 depends on CPU_FREQ_GOV_ONDEMAND && X86_ACPI_CPUFREQ && CPU_SUP_AMD
134 help
135 This adds AMD-specific powersave bias function to the ondemand
136 governor, which allows it to make more power-conscious frequency
Masanari Iida8c881262013-09-29 20:54:15 +0900137 change decisions based on feedback from hardware (available on AMD
Jacob Shin9c5320c2013-04-04 16:19:04 +0000138 Family 16h and above).
139
140 Hardware feedback tells software how "sensitive" to frequency changes
141 the CPUs' workloads are. CPU-bound workloads will be more sensitive
142 -- they will perform better as frequency increases. Memory/IO-bound
143 workloads will be less sensitive -- they will not necessarily perform
144 better as frequency increases.
145
146 If in doubt, say N.
147
Linus Torvalds1da177e2005-04-16 15:20:36 -0700148config X86_GX_SUSPMOD
149 tristate "Cyrix MediaGX/NatSemi Geode Suspend Modulation"
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100150 depends on X86_32 && PCI
Linus Torvalds1da177e2005-04-16 15:20:36 -0700151 help
152 This add the CPUFreq driver for NatSemi Geode processors which
153 support suspend modulation.
154
155 For details, take a look at <file:Documentation/cpu-freq/>.
156
157 If in doubt, say N.
158
159config X86_SPEEDSTEP_CENTRINO
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100160 tristate "Intel Enhanced SpeedStep (deprecated)"
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100161 select X86_SPEEDSTEP_CENTRINO_TABLE if X86_32
162 depends on X86_32 || (X86_64 && ACPI_PROCESSOR)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700163 help
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100164 This is deprecated and this functionality is now merged into
165 acpi_cpufreq (X86_ACPI_CPUFREQ). Use that driver instead of
166 speedstep_centrino.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700167 This adds the CPUFreq driver for Enhanced SpeedStep enabled
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100168 mobile CPUs. This means Intel Pentium M (Centrino) CPUs
169 or 64bit enabled Intel Xeons.
170
171 To compile this driver as a module, choose M here: the
172 module will be called speedstep-centrino.
Dave Jones388d6c52006-03-11 16:04:53 -0500173
Linus Torvalds1da177e2005-04-16 15:20:36 -0700174 For details, take a look at <file:Documentation/cpu-freq/>.
Dave Jones388d6c52006-03-11 16:04:53 -0500175
Linus Torvalds1da177e2005-04-16 15:20:36 -0700176 If in doubt, say N.
177
Linus Torvalds1da177e2005-04-16 15:20:36 -0700178config X86_SPEEDSTEP_CENTRINO_TABLE
179 bool "Built-in tables for Banias CPUs"
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100180 depends on X86_32 && X86_SPEEDSTEP_CENTRINO
Linus Torvalds1da177e2005-04-16 15:20:36 -0700181 default y
182 help
183 Use built-in tables for Banias CPUs if ACPI encoding
184 is not available.
185
186 If in doubt, say N.
187
188config X86_SPEEDSTEP_ICH
189 tristate "Intel Speedstep on ICH-M chipsets (ioport interface)"
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100190 depends on X86_32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700191 help
192 This adds the CPUFreq driver for certain mobile Intel Pentium III
193 (Coppermine), all mobile Intel Pentium III-M (Tualatin) and all
Dave Jones388d6c52006-03-11 16:04:53 -0500194 mobile Intel Pentium 4 P4-M on systems which have an Intel ICH2,
Linus Torvalds1da177e2005-04-16 15:20:36 -0700195 ICH3 or ICH4 southbridge.
196
197 For details, take a look at <file:Documentation/cpu-freq/>.
198
199 If in doubt, say N.
200
201config X86_SPEEDSTEP_SMI
202 tristate "Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)"
Kees Cook0f194b562012-10-02 11:16:53 -0700203 depends on X86_32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700204 help
205 This adds the CPUFreq driver for certain mobile Intel Pentium III
Dave Jones388d6c52006-03-11 16:04:53 -0500206 (Coppermine), all mobile Intel Pentium III-M (Tualatin)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700207 on systems which have an Intel 440BX/ZX/MX southbridge.
208
209 For details, take a look at <file:Documentation/cpu-freq/>.
210
211 If in doubt, say N.
212
213config X86_P4_CLOCKMOD
214 tristate "Intel Pentium 4 clock modulation"
Linus Torvalds1da177e2005-04-16 15:20:36 -0700215 help
216 This adds the CPUFreq driver for Intel Pentium 4 / XEON
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100217 processors. When enabled it will lower CPU temperature by skipping
218 clocks.
219
220 This driver should be only used in exceptional
221 circumstances when very low power is needed because it causes severe
222 slowdowns and noticeable latencies. Normally Speedstep should be used
223 instead.
224
225 To compile this driver as a module, choose M here: the
226 module will be called p4-clockmod.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700227
228 For details, take a look at <file:Documentation/cpu-freq/>.
229
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100230 Unless you are absolutely sure say N.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700231
232config X86_CPUFREQ_NFORCE2
233 tristate "nVidia nForce2 FSB changing"
Kees Cook0f194b562012-10-02 11:16:53 -0700234 depends on X86_32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700235 help
236 This adds the CPUFreq driver for FSB changing on nVidia nForce2
237 platforms.
238
239 For details, take a look at <file:Documentation/cpu-freq/>.
240
241 If in doubt, say N.
242
243config X86_LONGRUN
244 tristate "Transmeta LongRun"
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100245 depends on X86_32
Linus Torvalds1da177e2005-04-16 15:20:36 -0700246 help
247 This adds the CPUFreq driver for Transmeta Crusoe and Efficeon processors
248 which support LongRun.
249
250 For details, take a look at <file:Documentation/cpu-freq/>.
251
252 If in doubt, say N.
253
254config X86_LONGHAUL
255 tristate "VIA Cyrix III Longhaul"
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100256 depends on X86_32 && ACPI_PROCESSOR
Linus Torvalds1da177e2005-04-16 15:20:36 -0700257 help
Dave Jones388d6c52006-03-11 16:04:53 -0500258 This adds the CPUFreq driver for VIA Samuel/CyrixIII,
259 VIA Cyrix Samuel/C3, VIA Cyrix Ezra and VIA Cyrix Ezra-T
Linus Torvalds1da177e2005-04-16 15:20:36 -0700260 processors.
261
262 For details, take a look at <file:Documentation/cpu-freq/>.
263
264 If in doubt, say N.
265
Rafa³ Bilski86acd492007-02-05 19:57:25 +0100266config X86_E_POWERSAVER
Harald Welte0fea6152009-06-08 18:29:36 +0800267 tristate "VIA C7 Enhanced PowerSaver (DANGEROUS)"
Rafał Bilskib5f14722013-05-19 19:27:55 +0000268 depends on X86_32 && ACPI_PROCESSOR
Rafa³ Bilski86acd492007-02-05 19:57:25 +0100269 help
Harald Welte0fea6152009-06-08 18:29:36 +0800270 This adds the CPUFreq driver for VIA C7 processors. However, this driver
271 does not have any safeguards to prevent operating the CPU out of spec
272 and is thus considered dangerous. Please use the regular ACPI cpufreq
273 driver, enabled by CONFIG_X86_ACPI_CPUFREQ.
Rafa³ Bilski86acd492007-02-05 19:57:25 +0100274
275 If in doubt, say N.
276
Linus Torvalds1da177e2005-04-16 15:20:36 -0700277comment "shared options"
278
Linus Torvalds1da177e2005-04-16 15:20:36 -0700279config X86_SPEEDSTEP_LIB
280 tristate
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100281 default (X86_SPEEDSTEP_ICH || X86_SPEEDSTEP_SMI || X86_P4_CLOCKMOD)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700282
283config X86_SPEEDSTEP_RELAXED_CAP_CHECK
284 bool "Relaxed speedstep capability checks"
Sam Ravnborge8ef9522007-11-06 19:35:19 +0100285 depends on X86_32 && (X86_SPEEDSTEP_SMI || X86_SPEEDSTEP_ICH)
Linus Torvalds1da177e2005-04-16 15:20:36 -0700286 help
Dave Jones388d6c52006-03-11 16:04:53 -0500287 Don't perform all checks for a speedstep capable system which would
288 normally be done. Some ancient or strange systems, though speedstep
289 capable, don't always indicate that they are speedstep capable. This
Linus Torvalds1da177e2005-04-16 15:20:36 -0700290 option lets the probing code bypass some of those checks if the
291 parameter "relaxed_check=1" is passed to the module.
292