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