xref: /openbmc/linux/drivers/cpufreq/Kconfig.x86 (revision 4ce94eab)
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_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
53config 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
65config 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
80config 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
91config 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
102config 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
112config 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
119config 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
131config 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
148config 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
159config 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
178config 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
188config 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
201config 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
213config 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
232config 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
243config 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
254config 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
266config 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
277comment "shared options"
278
279config X86_SPEEDSTEP_LIB
280	tristate
281	default (X86_SPEEDSTEP_ICH || X86_SPEEDSTEP_SMI || X86_P4_CLOCKMOD)
282
283config 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
293