xref: /linux/drivers/cpufreq/Kconfig.x86 (revision 4b132aacb0768ac1e652cf517097ea6f237214b9)
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
343