xref: /openbmc/linux/drivers/cpufreq/Kconfig.x86 (revision 0aa6b294)
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
310