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