Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# x86 CPU Frequency scaling drivers
4#
5
6config X86_INTEL_PSTATE
7 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
11 select CPU_FREQ_GOV_PERFORMANCE
12 select CPU_FREQ_GOV_SCHEDUTIL if SMP
13 help
14 This driver provides a P state for Intel core processors.
15 The driver implements an internal governor and will become
16 the scaling driver and governor for Sandy bridge processors.
17
18 When this driver is enabled it will become the preferred
19 scaling driver for Sandy bridge processors.
20
21 If in doubt, say N.
22
23config 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:
30 <file:Documentation/admin-guide/pm/cpufreq_drivers.rst>.
31
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
37config X86_AMD_PSTATE
38 bool "AMD Processor P-State driver"
39 depends on X86 && ACPI
40 select ACPI_PROCESSOR
41 select ACPI_CPPC_LIB if X86_64
42 select CPU_FREQ_GOV_SCHEDUTIL if SMP
43 help
44 This driver adds a CPUFreq driver which utilizes a fine grain
45 processor performance frequency control range instead of legacy
46 performance levels. _CPC needs to be present in the ACPI tables
47 of the system.
48
49 For details, take a look at:
50 <file:Documentation/admin-guide/pm/amd-pstate.rst>.
51
52 If in doubt, say N.
53
54config X86_AMD_PSTATE_UT
55 tristate "selftest for AMD Processor P-State driver"
56 depends on X86 && ACPI_PROCESSOR
57 default n
58 help
59 This kernel module is used for testing. It's safe to say M here.
60
61 It can also be built-in without X86_AMD_PSTATE enabled.
62 Currently, only tests for amd-pstate are supported. If X86_AMD_PSTATE
63 is set disabled, it can tell the users test can only run on amd-pstate
64 driver, please set X86_AMD_PSTATE enabled.
65 In the future, comparison tests will be added. It can set amd-pstate
66 disabled and set acpi-cpufreq enabled to run test cases, then compare
67 the test results.
68
69config X86_ACPI_CPUFREQ
70 tristate "ACPI Processor P-States driver"
71 depends on ACPI_PROCESSOR
72 help
73 This driver adds a CPUFreq driver which utilizes the ACPI
74 Processor Performance States.
75 This driver also supports Intel Enhanced Speedstep and newer
76 AMD CPUs.
77
78 To compile this driver as a module, choose M here: the
79 module will be called acpi-cpufreq.
80
81 For details, take a look at <file:Documentation/cpu-freq/>.
82
83 If in doubt, say N.
84
85config X86_ACPI_CPUFREQ_CPB
86 default y
87 bool "Legacy cpb sysfs knob support for AMD CPUs"
88 depends on X86_ACPI_CPUFREQ && CPU_SUP_AMD
89 help
90 The powernow-k8 driver used to provide a sysfs knob called "cpb"
91 to disable the Core Performance Boosting feature of AMD CPUs. This
92 file has now been superseded by the more generic "boost" entry.
93
94 By enabling this option the acpi_cpufreq driver provides the old
95 entry in addition to the new boost ones, for compatibility reasons.
96
97config ELAN_CPUFREQ
98 tristate "AMD Elan SC400 and SC410"
99 depends on MELAN
100 help
101 This adds the CPUFreq driver for AMD Elan SC400 and SC410
102 processors.
103
104 You need to specify the processor maximum speed as boot
105 parameter: elanfreq=maxspeed (in kHz) or as module
106 parameter "max_freq".
107
108 For details, take a look at <file:Documentation/cpu-freq/>.
109
110 If in doubt, say N.
111
112config SC520_CPUFREQ
113 tristate "AMD Elan SC520"
114 depends on MELAN
115 help
116 This adds the CPUFreq driver for AMD Elan SC520 processor.
117
118 For details, take a look at <file:Documentation/cpu-freq/>.
119
120 If in doubt, say N.
121
122
123config X86_POWERNOW_K6
124 tristate "AMD Mobile K6-2/K6-3 PowerNow!"
125 depends on X86_32
126 help
127 This adds the CPUFreq driver for mobile AMD K6-2+ and mobile
128 AMD K6-3+ processors.
129
130 For details, take a look at <file:Documentation/cpu-freq/>.
131
132 If in doubt, say N.
133
134config X86_POWERNOW_K7
135 tristate "AMD Mobile Athlon/Duron PowerNow!"
136 depends on X86_32
137 help
138 This adds the CPUFreq driver for mobile AMD K7 mobile processors.
139
140 For details, take a look at <file:Documentation/cpu-freq/>.
141
142 If in doubt, say N.
143
144config X86_POWERNOW_K7_ACPI
145 bool
146 depends on X86_POWERNOW_K7 && ACPI_PROCESSOR
147 depends on !(X86_POWERNOW_K7 = y && ACPI_PROCESSOR = m)
148 depends on X86_32
149 default y
150
151config X86_POWERNOW_K8
152 tristate "AMD Opteron/Athlon64 PowerNow!"
153 depends on ACPI && ACPI_PROCESSOR && X86_ACPI_CPUFREQ
154 help
155 This adds the CPUFreq driver for K8/early Opteron/Athlon64 processors.
156 Support for K10 and newer processors is now in acpi-cpufreq.
157
158 To compile this driver as a module, choose M here: the
159 module will be called powernow-k8.
160
161 For details, take a look at <file:Documentation/cpu-freq/>.
162
163config X86_AMD_FREQ_SENSITIVITY
164 tristate "AMD frequency sensitivity feedback powersave bias"
165 depends on CPU_FREQ_GOV_ONDEMAND && X86_ACPI_CPUFREQ && CPU_SUP_AMD
166 help
167 This adds AMD-specific powersave bias function to the ondemand
168 governor, which allows it to make more power-conscious frequency
169 change decisions based on feedback from hardware (available on AMD
170 Family 16h and above).
171
172 Hardware feedback tells software how "sensitive" to frequency changes
173 the CPUs' workloads are. CPU-bound workloads will be more sensitive
174 -- they will perform better as frequency increases. Memory/IO-bound
175 workloads will be less sensitive -- they will not necessarily perform
176 better as frequency increases.
177
178 If in doubt, say N.
179
180config X86_GX_SUSPMOD
181 tristate "Cyrix MediaGX/NatSemi Geode Suspend Modulation"
182 depends on X86_32 && PCI
183 help
184 This add the CPUFreq driver for NatSemi Geode processors which
185 support suspend modulation.
186
187 For details, take a look at <file:Documentation/cpu-freq/>.
188
189 If in doubt, say N.
190
191config X86_SPEEDSTEP_CENTRINO
192 tristate "Intel Enhanced SpeedStep (deprecated)"
193 select X86_SPEEDSTEP_CENTRINO_TABLE if X86_32
194 depends on X86_32 || (X86_64 && ACPI_PROCESSOR)
195 help
196 This is deprecated and this functionality is now merged into
197 acpi_cpufreq (X86_ACPI_CPUFREQ). Use that driver instead of
198 speedstep_centrino.
199 This adds the CPUFreq driver for Enhanced SpeedStep enabled
200 mobile CPUs. This means Intel Pentium M (Centrino) CPUs
201 or 64bit enabled Intel Xeons.
202
203 To compile this driver as a module, choose M here: the
204 module will be called speedstep-centrino.
205
206 For details, take a look at <file:Documentation/cpu-freq/>.
207
208 If in doubt, say N.
209
210config X86_SPEEDSTEP_CENTRINO_TABLE
211 bool "Built-in tables for Banias CPUs"
212 depends on X86_32 && X86_SPEEDSTEP_CENTRINO
213 default y
214 help
215 Use built-in tables for Banias CPUs if ACPI encoding
216 is not available.
217
218 If in doubt, say N.
219
220config X86_SPEEDSTEP_ICH
221 tristate "Intel Speedstep on ICH-M chipsets (ioport interface)"
222 depends on X86_32
223 help
224 This adds the CPUFreq driver for certain mobile Intel Pentium III
225 (Coppermine), all mobile Intel Pentium III-M (Tualatin) and all
226 mobile Intel Pentium 4 P4-M on systems which have an Intel ICH2,
227 ICH3 or ICH4 southbridge.
228
229 For details, take a look at <file:Documentation/cpu-freq/>.
230
231 If in doubt, say N.
232
233config X86_SPEEDSTEP_SMI
234 tristate "Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)"
235 depends on X86_32
236 help
237 This adds the CPUFreq driver for certain mobile Intel Pentium III
238 (Coppermine), all mobile Intel Pentium III-M (Tualatin)
239 on systems which have an Intel 440BX/ZX/MX southbridge.
240
241 For details, take a look at <file:Documentation/cpu-freq/>.
242
243 If in doubt, say N.
244
245config X86_P4_CLOCKMOD
246 tristate "Intel Pentium 4 clock modulation"
247 help
248 This adds the CPUFreq driver for Intel Pentium 4 / XEON
249 processors. When enabled it will lower CPU temperature by skipping
250 clocks.
251
252 This driver should be only used in exceptional
253 circumstances when very low power is needed because it causes severe
254 slowdowns and noticeable latencies. Normally Speedstep should be used
255 instead.
256
257 To compile this driver as a module, choose M here: the
258 module will be called p4-clockmod.
259
260 For details, take a look at <file:Documentation/cpu-freq/>.
261
262 Unless you are absolutely sure say N.
263
264config X86_CPUFREQ_NFORCE2
265 tristate "nVidia nForce2 FSB changing"
266 depends on X86_32
267 help
268 This adds the CPUFreq driver for FSB changing on nVidia nForce2
269 platforms.
270
271 For details, take a look at <file:Documentation/cpu-freq/>.
272
273 If in doubt, say N.
274
275config X86_LONGRUN
276 tristate "Transmeta LongRun"
277 depends on X86_32
278 help
279 This adds the CPUFreq driver for Transmeta Crusoe and Efficeon processors
280 which support LongRun.
281
282 For details, take a look at <file:Documentation/cpu-freq/>.
283
284 If in doubt, say N.
285
286config X86_LONGHAUL
287 tristate "VIA Cyrix III Longhaul"
288 depends on X86_32 && ACPI_PROCESSOR
289 help
290 This adds the CPUFreq driver for VIA Samuel/CyrixIII,
291 VIA Cyrix Samuel/C3, VIA Cyrix Ezra and VIA Cyrix Ezra-T
292 processors.
293
294 For details, take a look at <file:Documentation/cpu-freq/>.
295
296 If in doubt, say N.
297
298config X86_E_POWERSAVER
299 tristate "VIA C7 Enhanced PowerSaver (DANGEROUS)"
300 depends on X86_32 && ACPI_PROCESSOR
301 help
302 This adds the CPUFreq driver for VIA C7 processors. However, this driver
303 does not have any safeguards to prevent operating the CPU out of spec
304 and is thus considered dangerous. Please use the regular ACPI cpufreq
305 driver, enabled by CONFIG_X86_ACPI_CPUFREQ.
306
307 If in doubt, say N.
308
309comment "shared options"
310
311config X86_SPEEDSTEP_LIB
312 tristate
313 default (X86_SPEEDSTEP_ICH || X86_SPEEDSTEP_SMI || X86_P4_CLOCKMOD)
314
315config X86_SPEEDSTEP_RELAXED_CAP_CHECK
316 bool "Relaxed speedstep capability checks"
317 depends on X86_32 && (X86_SPEEDSTEP_SMI || X86_SPEEDSTEP_ICH)
318 help
319 Don't perform all checks for a speedstep capable system which would
320 normally be done. Some ancient or strange systems, though speedstep
321 capable, don't always indicate that they are speedstep capable. This
322 option lets the probing code bypass some of those checks if the
323 parameter "relaxed_check=1" is passed to the module.
324