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 tristate "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_ACPI_CPUFREQ
55 tristate "ACPI Processor P-States driver"
56 depends on ACPI_PROCESSOR
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
63 To compile this driver as a module, choose M here: the
64 module will be called acpi-cpufreq.
66 For details, take a look at <file:Documentation/cpu-freq/>.
70 config X86_ACPI_CPUFREQ_CPB
72 bool "Legacy cpb sysfs knob support for AMD CPUs"
73 depends on X86_ACPI_CPUFREQ && CPU_SUP_AMD
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.
79 By enabling this option the acpi_cpufreq driver provides the old
80 entry in addition to the new boost ones, for compatibility reasons.
83 tristate "AMD Elan SC400 and SC410"
86 This adds the CPUFreq driver for AMD Elan SC400 and SC410
89 You need to specify the processor maximum speed as boot
90 parameter: elanfreq=maxspeed (in kHz) or as module
93 For details, take a look at <file:Documentation/cpu-freq/>.
98 tristate "AMD Elan SC520"
101 This adds the CPUFreq driver for AMD Elan SC520 processor.
103 For details, take a look at <file:Documentation/cpu-freq/>.
108 config X86_POWERNOW_K6
109 tristate "AMD Mobile K6-2/K6-3 PowerNow!"
112 This adds the CPUFreq driver for mobile AMD K6-2+ and mobile
113 AMD K6-3+ processors.
115 For details, take a look at <file:Documentation/cpu-freq/>.
119 config X86_POWERNOW_K7
120 tristate "AMD Mobile Athlon/Duron PowerNow!"
123 This adds the CPUFreq driver for mobile AMD K7 mobile processors.
125 For details, take a look at <file:Documentation/cpu-freq/>.
129 config X86_POWERNOW_K7_ACPI
131 depends on X86_POWERNOW_K7 && ACPI_PROCESSOR
132 depends on !(X86_POWERNOW_K7 = y && ACPI_PROCESSOR = m)
136 config X86_POWERNOW_K8
137 tristate "AMD Opteron/Athlon64 PowerNow!"
138 depends on ACPI && ACPI_PROCESSOR && X86_ACPI_CPUFREQ
140 This adds the CPUFreq driver for K8/early Opteron/Athlon64 processors.
141 Support for K10 and newer processors is now in acpi-cpufreq.
143 To compile this driver as a module, choose M here: the
144 module will be called powernow-k8.
146 For details, take a look at <file:Documentation/cpu-freq/>.
148 config 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
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).
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.
165 config X86_GX_SUSPMOD
166 tristate "Cyrix MediaGX/NatSemi Geode Suspend Modulation"
167 depends on X86_32 && PCI
169 This add the CPUFreq driver for NatSemi Geode processors which
170 support suspend modulation.
172 For details, take a look at <file:Documentation/cpu-freq/>.
176 config 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)
181 This is deprecated and this functionality is now merged into
182 acpi_cpufreq (X86_ACPI_CPUFREQ). Use that driver instead of
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.
188 To compile this driver as a module, choose M here: the
189 module will be called speedstep-centrino.
191 For details, take a look at <file:Documentation/cpu-freq/>.
195 config X86_SPEEDSTEP_CENTRINO_TABLE
196 bool "Built-in tables for Banias CPUs"
197 depends on X86_32 && X86_SPEEDSTEP_CENTRINO
200 Use built-in tables for Banias CPUs if ACPI encoding
205 config X86_SPEEDSTEP_ICH
206 tristate "Intel Speedstep on ICH-M chipsets (ioport interface)"
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.
214 For details, take a look at <file:Documentation/cpu-freq/>.
218 config X86_SPEEDSTEP_SMI
219 tristate "Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)"
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.
226 For details, take a look at <file:Documentation/cpu-freq/>.
230 config X86_P4_CLOCKMOD
231 tristate "Intel Pentium 4 clock modulation"
233 This adds the CPUFreq driver for Intel Pentium 4 / XEON
234 processors. When enabled it will lower CPU temperature by skipping
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
242 To compile this driver as a module, choose M here: the
243 module will be called p4-clockmod.
245 For details, take a look at <file:Documentation/cpu-freq/>.
247 Unless you are absolutely sure say N.
249 config X86_CPUFREQ_NFORCE2
250 tristate "nVidia nForce2 FSB changing"
253 This adds the CPUFreq driver for FSB changing on nVidia nForce2
256 For details, take a look at <file:Documentation/cpu-freq/>.
261 tristate "Transmeta LongRun"
264 This adds the CPUFreq driver for Transmeta Crusoe and Efficeon processors
265 which support LongRun.
267 For details, take a look at <file:Documentation/cpu-freq/>.
272 tristate "VIA Cyrix III Longhaul"
273 depends on X86_32 && ACPI_PROCESSOR
275 This adds the CPUFreq driver for VIA Samuel/CyrixIII,
276 VIA Cyrix Samuel/C3, VIA Cyrix Ezra and VIA Cyrix Ezra-T
279 For details, take a look at <file:Documentation/cpu-freq/>.
283 config X86_E_POWERSAVER
284 tristate "VIA C7 Enhanced PowerSaver (DANGEROUS)"
285 depends on X86_32 && ACPI_PROCESSOR
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.
294 comment "shared options"
296 config X86_SPEEDSTEP_LIB
298 default (X86_SPEEDSTEP_ICH || X86_SPEEDSTEP_SMI || X86_P4_CLOCKMOD)
300 config X86_SPEEDSTEP_RELAXED_CAP_CHECK
301 bool "Relaxed speedstep capability checks"
302 depends on X86_32 && (X86_SPEEDSTEP_SMI || X86_SPEEDSTEP_ICH)
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.