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