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