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.
37 config X86_ACPI_CPUFREQ
38 tristate "ACPI Processor P-States driver"
39 depends on ACPI_PROCESSOR
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
46 To compile this driver as a module, choose M here: the
47 module will be called acpi-cpufreq.
49 For details, take a look at <file:Documentation/cpu-freq/>.
53 config X86_ACPI_CPUFREQ_CPB
55 bool "Legacy cpb sysfs knob support for AMD CPUs"
56 depends on X86_ACPI_CPUFREQ && CPU_SUP_AMD
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.
62 By enabling this option the acpi_cpufreq driver provides the old
63 entry in addition to the new boost ones, for compatibility reasons.
66 tristate "AMD Elan SC400 and SC410"
69 This adds the CPUFreq driver for AMD Elan SC400 and SC410
72 You need to specify the processor maximum speed as boot
73 parameter: elanfreq=maxspeed (in kHz) or as module
76 For details, take a look at <file:Documentation/cpu-freq/>.
81 tristate "AMD Elan SC520"
84 This adds the CPUFreq driver for AMD Elan SC520 processor.
86 For details, take a look at <file:Documentation/cpu-freq/>.
91 config X86_POWERNOW_K6
92 tristate "AMD Mobile K6-2/K6-3 PowerNow!"
95 This adds the CPUFreq driver for mobile AMD K6-2+ and mobile
98 For details, take a look at <file:Documentation/cpu-freq/>.
102 config X86_POWERNOW_K7
103 tristate "AMD Mobile Athlon/Duron PowerNow!"
106 This adds the CPUFreq driver for mobile AMD K7 mobile processors.
108 For details, take a look at <file:Documentation/cpu-freq/>.
112 config X86_POWERNOW_K7_ACPI
114 depends on X86_POWERNOW_K7 && ACPI_PROCESSOR
115 depends on !(X86_POWERNOW_K7 = y && ACPI_PROCESSOR = m)
119 config X86_POWERNOW_K8
120 tristate "AMD Opteron/Athlon64 PowerNow!"
121 depends on ACPI && ACPI_PROCESSOR && X86_ACPI_CPUFREQ
123 This adds the CPUFreq driver for K8/early Opteron/Athlon64 processors.
124 Support for K10 and newer processors is now in acpi-cpufreq.
126 To compile this driver as a module, choose M here: the
127 module will be called powernow-k8.
129 For details, take a look at <file:Documentation/cpu-freq/>.
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
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).
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.
148 config X86_GX_SUSPMOD
149 tristate "Cyrix MediaGX/NatSemi Geode Suspend Modulation"
150 depends on X86_32 && PCI
152 This add the CPUFreq driver for NatSemi Geode processors which
153 support suspend modulation.
155 For details, take a look at <file:Documentation/cpu-freq/>.
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)
164 This is deprecated and this functionality is now merged into
165 acpi_cpufreq (X86_ACPI_CPUFREQ). Use that driver instead of
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.
171 To compile this driver as a module, choose M here: the
172 module will be called speedstep-centrino.
174 For details, take a look at <file:Documentation/cpu-freq/>.
178 config X86_SPEEDSTEP_CENTRINO_TABLE
179 bool "Built-in tables for Banias CPUs"
180 depends on X86_32 && X86_SPEEDSTEP_CENTRINO
183 Use built-in tables for Banias CPUs if ACPI encoding
188 config X86_SPEEDSTEP_ICH
189 tristate "Intel Speedstep on ICH-M chipsets (ioport interface)"
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.
197 For details, take a look at <file:Documentation/cpu-freq/>.
201 config X86_SPEEDSTEP_SMI
202 tristate "Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)"
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.
209 For details, take a look at <file:Documentation/cpu-freq/>.
213 config X86_P4_CLOCKMOD
214 tristate "Intel Pentium 4 clock modulation"
216 This adds the CPUFreq driver for Intel Pentium 4 / XEON
217 processors. When enabled it will lower CPU temperature by skipping
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
225 To compile this driver as a module, choose M here: the
226 module will be called p4-clockmod.
228 For details, take a look at <file:Documentation/cpu-freq/>.
230 Unless you are absolutely sure say N.
232 config X86_CPUFREQ_NFORCE2
233 tristate "nVidia nForce2 FSB changing"
236 This adds the CPUFreq driver for FSB changing on nVidia nForce2
239 For details, take a look at <file:Documentation/cpu-freq/>.
244 tristate "Transmeta LongRun"
247 This adds the CPUFreq driver for Transmeta Crusoe and Efficeon processors
248 which support LongRun.
250 For details, take a look at <file:Documentation/cpu-freq/>.
255 tristate "VIA Cyrix III Longhaul"
256 depends on X86_32 && ACPI_PROCESSOR
258 This adds the CPUFreq driver for VIA Samuel/CyrixIII,
259 VIA Cyrix Samuel/C3, VIA Cyrix Ezra and VIA Cyrix Ezra-T
262 For details, take a look at <file:Documentation/cpu-freq/>.
266 config X86_E_POWERSAVER
267 tristate "VIA C7 Enhanced PowerSaver (DANGEROUS)"
268 depends on X86_32 && ACPI_PROCESSOR
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.
277 comment "shared options"
279 config X86_SPEEDSTEP_LIB
281 default (X86_SPEEDSTEP_ICH || X86_SPEEDSTEP_SMI || X86_P4_CLOCKMOD)
283 config X86_SPEEDSTEP_RELAXED_CAP_CHECK
284 bool "Relaxed speedstep capability checks"
285 depends on X86_32 && (X86_SPEEDSTEP_SMI || X86_SPEEDSTEP_ICH)
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.