1 # SPDX-License-Identifier: GPL-2.0-only
3 # x86 CPU Frequency scaling drivers
6 config X86_INTEL_PSTATE
7 bool "Intel P state control"
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
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.
18 When this driver is enabled it will become the preferred
19 scaling driver for Sandy bridge processors.
23 config X86_PCC_CPUFREQ
24 tristate "Processor Clocking Control interface driver"
25 depends on ACPI && ACPI_PROCESSOR
27 This driver adds support for the PCC interface.
29 For details, take a look at:
30 <file:Documentation/admin-guide/pm/cpufreq_drivers.rst>.
32 To compile this driver as a module, choose M here: the
33 module will be called pcc-cpufreq.
38 bool "AMD Processor P-State driver"
39 depends on X86 && ACPI
41 select ACPI_CPPC_LIB if X86_64
42 select CPU_FREQ_GOV_SCHEDUTIL if SMP
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
49 For details, take a look at:
50 <file:Documentation/admin-guide/pm/amd-pstate.rst>.
54 config X86_AMD_PSTATE_UT
55 tristate "selftest for AMD Processor P-State driver"
56 depends on X86 && ACPI_PROCESSOR
59 This kernel module is used for testing. It's safe to say M here.
61 It can also be built-in without X86_AMD_PSTATE enabled.
62 Currently, only tests for amd-pstate are supported. If X86_AMD_PSTATE
63 is set disabled, it can tell the users test can only run on amd-pstate
64 driver, please set X86_AMD_PSTATE enabled.
65 In the future, comparison tests will be added. It can set amd-pstate
66 disabled and set acpi-cpufreq enabled to run test cases, then compare
69 config X86_ACPI_CPUFREQ
70 tristate "ACPI Processor P-States driver"
71 depends on ACPI_PROCESSOR
73 This driver adds a CPUFreq driver which utilizes the ACPI
74 Processor Performance States.
75 This driver also supports Intel Enhanced Speedstep and newer
78 To compile this driver as a module, choose M here: the
79 module will be called acpi-cpufreq.
81 For details, take a look at <file:Documentation/cpu-freq/>.
85 config X86_ACPI_CPUFREQ_CPB
87 bool "Legacy cpb sysfs knob support for AMD CPUs"
88 depends on X86_ACPI_CPUFREQ && CPU_SUP_AMD
90 The powernow-k8 driver used to provide a sysfs knob called "cpb"
91 to disable the Core Performance Boosting feature of AMD CPUs. This
92 file has now been superseded by the more generic "boost" entry.
94 By enabling this option the acpi_cpufreq driver provides the old
95 entry in addition to the new boost ones, for compatibility reasons.
98 tristate "AMD Elan SC400 and SC410"
101 This adds the CPUFreq driver for AMD Elan SC400 and SC410
104 You need to specify the processor maximum speed as boot
105 parameter: elanfreq=maxspeed (in kHz) or as module
106 parameter "max_freq".
108 For details, take a look at <file:Documentation/cpu-freq/>.
113 tristate "AMD Elan SC520"
116 This adds the CPUFreq driver for AMD Elan SC520 processor.
118 For details, take a look at <file:Documentation/cpu-freq/>.
123 config X86_POWERNOW_K6
124 tristate "AMD Mobile K6-2/K6-3 PowerNow!"
127 This adds the CPUFreq driver for mobile AMD K6-2+ and mobile
128 AMD K6-3+ processors.
130 For details, take a look at <file:Documentation/cpu-freq/>.
134 config X86_POWERNOW_K7
135 tristate "AMD Mobile Athlon/Duron PowerNow!"
138 This adds the CPUFreq driver for mobile AMD K7 mobile processors.
140 For details, take a look at <file:Documentation/cpu-freq/>.
144 config X86_POWERNOW_K7_ACPI
146 depends on X86_POWERNOW_K7 && ACPI_PROCESSOR
147 depends on !(X86_POWERNOW_K7 = y && ACPI_PROCESSOR = m)
151 config X86_POWERNOW_K8
152 tristate "AMD Opteron/Athlon64 PowerNow!"
153 depends on ACPI && ACPI_PROCESSOR && X86_ACPI_CPUFREQ
155 This adds the CPUFreq driver for K8/early Opteron/Athlon64 processors.
156 Support for K10 and newer processors is now in acpi-cpufreq.
158 To compile this driver as a module, choose M here: the
159 module will be called powernow-k8.
161 For details, take a look at <file:Documentation/cpu-freq/>.
163 config X86_AMD_FREQ_SENSITIVITY
164 tristate "AMD frequency sensitivity feedback powersave bias"
165 depends on CPU_FREQ_GOV_ONDEMAND && X86_ACPI_CPUFREQ && CPU_SUP_AMD
167 This adds AMD-specific powersave bias function to the ondemand
168 governor, which allows it to make more power-conscious frequency
169 change decisions based on feedback from hardware (available on AMD
170 Family 16h and above).
172 Hardware feedback tells software how "sensitive" to frequency changes
173 the CPUs' workloads are. CPU-bound workloads will be more sensitive
174 -- they will perform better as frequency increases. Memory/IO-bound
175 workloads will be less sensitive -- they will not necessarily perform
176 better as frequency increases.
180 config X86_GX_SUSPMOD
181 tristate "Cyrix MediaGX/NatSemi Geode Suspend Modulation"
182 depends on X86_32 && PCI
184 This add the CPUFreq driver for NatSemi Geode processors which
185 support suspend modulation.
187 For details, take a look at <file:Documentation/cpu-freq/>.
191 config X86_SPEEDSTEP_CENTRINO
192 tristate "Intel Enhanced SpeedStep (deprecated)"
193 select X86_SPEEDSTEP_CENTRINO_TABLE if X86_32
194 depends on X86_32 || (X86_64 && ACPI_PROCESSOR)
196 This is deprecated and this functionality is now merged into
197 acpi_cpufreq (X86_ACPI_CPUFREQ). Use that driver instead of
199 This adds the CPUFreq driver for Enhanced SpeedStep enabled
200 mobile CPUs. This means Intel Pentium M (Centrino) CPUs
201 or 64bit enabled Intel Xeons.
203 To compile this driver as a module, choose M here: the
204 module will be called speedstep-centrino.
206 For details, take a look at <file:Documentation/cpu-freq/>.
210 config X86_SPEEDSTEP_CENTRINO_TABLE
211 bool "Built-in tables for Banias CPUs"
212 depends on X86_32 && X86_SPEEDSTEP_CENTRINO
215 Use built-in tables for Banias CPUs if ACPI encoding
220 config X86_SPEEDSTEP_ICH
221 tristate "Intel Speedstep on ICH-M chipsets (ioport interface)"
224 This adds the CPUFreq driver for certain mobile Intel Pentium III
225 (Coppermine), all mobile Intel Pentium III-M (Tualatin) and all
226 mobile Intel Pentium 4 P4-M on systems which have an Intel ICH2,
227 ICH3 or ICH4 southbridge.
229 For details, take a look at <file:Documentation/cpu-freq/>.
233 config X86_SPEEDSTEP_SMI
234 tristate "Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)"
237 This adds the CPUFreq driver for certain mobile Intel Pentium III
238 (Coppermine), all mobile Intel Pentium III-M (Tualatin)
239 on systems which have an Intel 440BX/ZX/MX southbridge.
241 For details, take a look at <file:Documentation/cpu-freq/>.
245 config X86_P4_CLOCKMOD
246 tristate "Intel Pentium 4 clock modulation"
248 This adds the CPUFreq driver for Intel Pentium 4 / XEON
249 processors. When enabled it will lower CPU temperature by skipping
252 This driver should be only used in exceptional
253 circumstances when very low power is needed because it causes severe
254 slowdowns and noticeable latencies. Normally Speedstep should be used
257 To compile this driver as a module, choose M here: the
258 module will be called p4-clockmod.
260 For details, take a look at <file:Documentation/cpu-freq/>.
262 Unless you are absolutely sure say N.
264 config X86_CPUFREQ_NFORCE2
265 tristate "nVidia nForce2 FSB changing"
268 This adds the CPUFreq driver for FSB changing on nVidia nForce2
271 For details, take a look at <file:Documentation/cpu-freq/>.
276 tristate "Transmeta LongRun"
279 This adds the CPUFreq driver for Transmeta Crusoe and Efficeon processors
280 which support LongRun.
282 For details, take a look at <file:Documentation/cpu-freq/>.
287 tristate "VIA Cyrix III Longhaul"
288 depends on X86_32 && ACPI_PROCESSOR
290 This adds the CPUFreq driver for VIA Samuel/CyrixIII,
291 VIA Cyrix Samuel/C3, VIA Cyrix Ezra and VIA Cyrix Ezra-T
294 For details, take a look at <file:Documentation/cpu-freq/>.
298 config X86_E_POWERSAVER
299 tristate "VIA C7 Enhanced PowerSaver (DANGEROUS)"
300 depends on X86_32 && ACPI_PROCESSOR
302 This adds the CPUFreq driver for VIA C7 processors. However, this driver
303 does not have any safeguards to prevent operating the CPU out of spec
304 and is thus considered dangerous. Please use the regular ACPI cpufreq
305 driver, enabled by CONFIG_X86_ACPI_CPUFREQ.
309 comment "shared options"
311 config X86_SPEEDSTEP_LIB
313 default (X86_SPEEDSTEP_ICH || X86_SPEEDSTEP_SMI || X86_P4_CLOCKMOD)
315 config X86_SPEEDSTEP_RELAXED_CAP_CHECK
316 bool "Relaxed speedstep capability checks"
317 depends on X86_32 && (X86_SPEEDSTEP_SMI || X86_SPEEDSTEP_ICH)
319 Don't perform all checks for a speedstep capable system which would
320 normally be done. Some ancient or strange systems, though speedstep
321 capable, don't always indicate that they are speedstep capable. This
322 option lets the probing code bypass some of those checks if the
323 parameter "relaxed_check=1" is passed to the module.