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