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
12 This driver provides a P state for Intel core processors.
13 The driver implements an internal governor
and will become
14 the scaling driver
and governor for Sandy bridge processors.
16 When
this driver is enabled it will become the preferred
17 scaling driver for Sandy bridge processors.
21 config X86_PCC_CPUFREQ
22 tristate
"Processor Clocking Control interface driver"
23 depends on ACPI
&& ACPI_PROCESSOR
25 This driver adds support for the PCC interface.
27 For details
, take a look
at:
28 <file:Documentation
/cpu
-freq
/pcc
-cpufreq.txt
>.
30 To compile
this driver as a module
, choose M
here: the
31 module will be called pcc
-cpufreq.
35 config X86_ACPI_CPUFREQ
36 tristate
"ACPI Processor P-States driver"
37 depends on ACPI_PROCESSOR
39 This driver adds a CPUFreq driver which utilizes the ACPI
40 Processor Performance States.
41 This driver also supports Intel Enhanced Speedstep
and newer
44 To compile
this driver as a module
, choose M
here: the
45 module will be called acpi
-cpufreq.
47 For details
, take a look at
<file:Documentation
/cpu
-freq
/>.
51 config X86_ACPI_CPUFREQ_CPB
53 bool
"Legacy cpb sysfs knob support for AMD CPUs"
54 depends on X86_ACPI_CPUFREQ
&& CPU_SUP_AMD
56 The powernow
-k8 driver used to provide a sysfs knob called
"cpb"
57 to disable the Core Performance Boosting feature of AMD CPUs.
This
58 file has now been superseded by the more generic
"boost" entry.
60 By enabling
this option the acpi_cpufreq driver provides the old
61 entry in addition to the new boost ones
, for compatibility reasons.
63 config X86_SFI_CPUFREQ
64 tristate
"SFI Performance-States driver"
65 depends on X86_INTEL_MID
&& SFI
67 This adds a CPUFreq driver for some Silvermont based Intel Atom
68 architectures like Z34xx
and Z35xx which enumerate processor
69 performance states through SFI.
74 tristate
"AMD Elan SC400 and SC410"
77 This adds the CPUFreq driver for AMD Elan SC400
and SC410
80 You need to specify the processor maximum speed as boot
81 parameter: elanfreq
=maxspeed
(in kHz
) or as module
84 For details
, take a look at
<file:Documentation
/cpu
-freq
/>.
89 tristate
"AMD Elan SC520"
92 This adds the CPUFreq driver for AMD Elan SC520 processor.
94 For details
, take a look at
<file:Documentation
/cpu
-freq
/>.
99 config X86_POWERNOW_K6
100 tristate
"AMD Mobile K6-2/K6-3 PowerNow!"
103 This adds the CPUFreq driver for mobile AMD K6
-2+ and mobile
104 AMD K6
-3+ processors.
106 For details
, take a look at
<file:Documentation
/cpu
-freq
/>.
110 config X86_POWERNOW_K7
111 tristate
"AMD Mobile Athlon/Duron PowerNow!"
114 This adds the CPUFreq driver for mobile AMD K7 mobile processors.
116 For details
, take a look at
<file:Documentation
/cpu
-freq
/>.
120 config X86_POWERNOW_K7_ACPI
122 depends on X86_POWERNOW_K7
&& ACPI_PROCESSOR
123 depends on
!(X86_POWERNOW_K7
= y
&& ACPI_PROCESSOR
= m
)
127 config X86_POWERNOW_K8
128 tristate
"AMD Opteron/Athlon64 PowerNow!"
129 depends on ACPI
&& ACPI_PROCESSOR
&& X86_ACPI_CPUFREQ
131 This adds the CPUFreq driver for K8
/early Opteron
/Athlon64 processors.
132 Support for K10
and newer processors is now
in acpi
-cpufreq.
134 To compile
this driver as a module
, choose M
here: the
135 module will be called powernow
-k8.
137 For details
, take a look at
<file:Documentation
/cpu
-freq
/>.
139 config X86_AMD_FREQ_SENSITIVITY
140 tristate
"AMD frequency sensitivity feedback powersave bias"
141 depends on CPU_FREQ_GOV_ONDEMAND
&& X86_ACPI_CPUFREQ
&& CPU_SUP_AMD
143 This adds AMD
-specific powersave bias function to the ondemand
144 governor
, which allows it to make more power
-conscious frequency
145 change decisions based on feedback from hardware
(available on AMD
146 Family
16h and above
).
148 Hardware feedback tells software how
"sensitive" to frequency changes
149 the CPUs
' workloads are. CPU-bound workloads will be more sensitive
150 -- they will perform better as frequency increases. Memory/IO-bound
151 workloads will be less sensitive -- they will not necessarily perform
152 better as frequency increases.
156 config X86_GX_SUSPMOD
157 tristate "Cyrix MediaGX/NatSemi Geode Suspend Modulation"
158 depends on X86_32 && PCI
160 This add the CPUFreq driver for NatSemi Geode processors which
161 support suspend modulation.
163 For details, take a look at <file:Documentation/cpu-freq/>.
167 config X86_SPEEDSTEP_CENTRINO
168 tristate "Intel Enhanced SpeedStep (deprecated)"
169 select X86_SPEEDSTEP_CENTRINO_TABLE if X86_32
170 depends on X86_32 || (X86_64 && ACPI_PROCESSOR)
172 This is deprecated and this functionality is now merged into
173 acpi_cpufreq (X86_ACPI_CPUFREQ). Use that driver instead of
175 This adds the CPUFreq driver for Enhanced SpeedStep enabled
176 mobile CPUs. This means Intel Pentium M (Centrino) CPUs
177 or 64bit enabled Intel Xeons.
179 To compile this driver as a module, choose M here: the
180 module will be called speedstep-centrino.
182 For details, take a look at <file:Documentation/cpu-freq/>.
186 config X86_SPEEDSTEP_CENTRINO_TABLE
187 bool "Built-in tables for Banias CPUs"
188 depends on X86_32 && X86_SPEEDSTEP_CENTRINO
191 Use built-in tables for Banias CPUs if ACPI encoding
196 config X86_SPEEDSTEP_ICH
197 tristate "Intel Speedstep on ICH-M chipsets (ioport interface)"
200 This adds the CPUFreq driver for certain mobile Intel Pentium III
201 (Coppermine), all mobile Intel Pentium III-M (Tualatin) and all
202 mobile Intel Pentium 4 P4-M on systems which have an Intel ICH2,
203 ICH3 or ICH4 southbridge.
205 For details, take a look at <file:Documentation/cpu-freq/>.
209 config X86_SPEEDSTEP_SMI
210 tristate "Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)"
213 This adds the CPUFreq driver for certain mobile Intel Pentium III
214 (Coppermine), all mobile Intel Pentium III-M (Tualatin)
215 on systems which have an Intel 440BX/ZX/MX southbridge.
217 For details, take a look at <file:Documentation/cpu-freq/>.
221 config X86_P4_CLOCKMOD
222 tristate "Intel Pentium 4 clock modulation"
224 This adds the CPUFreq driver for Intel Pentium 4 / XEON
225 processors. When enabled it will lower CPU temperature by skipping
228 This driver should be only used in exceptional
229 circumstances when very low power is needed because it causes severe
230 slowdowns and noticeable latencies. Normally Speedstep should be used
233 To compile this driver as a module, choose M here: the
234 module will be called p4-clockmod.
236 For details, take a look at <file:Documentation/cpu-freq/>.
238 Unless you are absolutely sure say N.
240 config X86_CPUFREQ_NFORCE2
241 tristate "nVidia nForce2 FSB changing"
244 This adds the CPUFreq driver for FSB changing on nVidia nForce2
247 For details, take a look at <file:Documentation/cpu-freq/>.
252 tristate "Transmeta LongRun"
255 This adds the CPUFreq driver for Transmeta Crusoe and Efficeon processors
256 which support LongRun.
258 For details, take a look at <file:Documentation/cpu-freq/>.
263 tristate "VIA Cyrix III Longhaul"
264 depends on X86_32 && ACPI_PROCESSOR
266 This adds the CPUFreq driver for VIA Samuel/CyrixIII,
267 VIA Cyrix Samuel/C3, VIA Cyrix Ezra and VIA Cyrix Ezra-T
270 For details, take a look at <file:Documentation/cpu-freq/>.
274 config X86_E_POWERSAVER
275 tristate "VIA C7 Enhanced PowerSaver (DANGEROUS)"
276 depends on X86_32 && ACPI_PROCESSOR
278 This adds the CPUFreq driver for VIA C7 processors. However, this driver
279 does not have any safeguards to prevent operating the CPU out of spec
280 and is thus considered dangerous. Please use the regular ACPI cpufreq
281 driver, enabled by CONFIG_X86_ACPI_CPUFREQ.
285 comment "shared options"
287 config X86_SPEEDSTEP_LIB
289 default (X86_SPEEDSTEP_ICH || X86_SPEEDSTEP_SMI || X86_P4_CLOCKMOD)
291 config X86_SPEEDSTEP_RELAXED_CAP_CHECK
292 bool "Relaxed speedstep capability checks"
293 depends on X86_32 && (X86_SPEEDSTEP_SMI || X86_SPEEDSTEP_ICH)
295 Don't perform all checks for a speedstep capable system which would
296 normally be done. Some ancient
or strange systems
, though speedstep
297 capable
, don
't always indicate that they are speedstep capable. This
298 option lets the probing code bypass some of those checks if the
299 parameter "relaxed_check=1" is passed to the module.