xref: /OK3568_Linux_fs/kernel/drivers/cpufreq/Kconfig.x86 (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# x86 CPU Frequency scaling drivers
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun
6*4882a593Smuzhiyunconfig X86_INTEL_PSTATE
7*4882a593Smuzhiyun	bool "Intel P state control"
8*4882a593Smuzhiyun	depends on X86
9*4882a593Smuzhiyun	select ACPI_PROCESSOR if ACPI
10*4882a593Smuzhiyun	select ACPI_CPPC_LIB if X86_64 && ACPI && SCHED_MC_PRIO
11*4882a593Smuzhiyun	select CPU_FREQ_GOV_PERFORMANCE
12*4882a593Smuzhiyun	select CPU_FREQ_GOV_SCHEDUTIL if SMP
13*4882a593Smuzhiyun	help
14*4882a593Smuzhiyun	  This driver provides a P state for Intel core processors.
15*4882a593Smuzhiyun	  The driver implements an internal governor and will become
16*4882a593Smuzhiyun	  the scaling driver and governor for Sandy bridge processors.
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun	  When this driver is enabled it will become the preferred
19*4882a593Smuzhiyun	  scaling driver for Sandy bridge processors.
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun	  If in doubt, say N.
22*4882a593Smuzhiyun
23*4882a593Smuzhiyunconfig X86_PCC_CPUFREQ
24*4882a593Smuzhiyun	tristate "Processor Clocking Control interface driver"
25*4882a593Smuzhiyun	depends on ACPI && ACPI_PROCESSOR
26*4882a593Smuzhiyun	help
27*4882a593Smuzhiyun	  This driver adds support for the PCC interface.
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun	  For details, take a look at:
30*4882a593Smuzhiyun	  <file:Documentation/admin-guide/pm/cpufreq_drivers.rst>.
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
33*4882a593Smuzhiyun	  module will be called pcc-cpufreq.
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun	  If in doubt, say N.
36*4882a593Smuzhiyun
37*4882a593Smuzhiyunconfig X86_ACPI_CPUFREQ
38*4882a593Smuzhiyun	tristate "ACPI Processor P-States driver"
39*4882a593Smuzhiyun	depends on ACPI_PROCESSOR
40*4882a593Smuzhiyun	help
41*4882a593Smuzhiyun	  This driver adds a CPUFreq driver which utilizes the ACPI
42*4882a593Smuzhiyun	  Processor Performance States.
43*4882a593Smuzhiyun	  This driver also supports Intel Enhanced Speedstep and newer
44*4882a593Smuzhiyun	  AMD CPUs.
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
47*4882a593Smuzhiyun	  module will be called acpi-cpufreq.
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun	  For details, take a look at <file:Documentation/cpu-freq/>.
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun	  If in doubt, say N.
52*4882a593Smuzhiyun
53*4882a593Smuzhiyunconfig X86_ACPI_CPUFREQ_CPB
54*4882a593Smuzhiyun	default y
55*4882a593Smuzhiyun	bool "Legacy cpb sysfs knob support for AMD CPUs"
56*4882a593Smuzhiyun	depends on X86_ACPI_CPUFREQ && CPU_SUP_AMD
57*4882a593Smuzhiyun	help
58*4882a593Smuzhiyun	  The powernow-k8 driver used to provide a sysfs knob called "cpb"
59*4882a593Smuzhiyun	  to disable the Core Performance Boosting feature of AMD CPUs. This
60*4882a593Smuzhiyun	  file has now been superseded by the more generic "boost" entry.
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun	  By enabling this option the acpi_cpufreq driver provides the old
63*4882a593Smuzhiyun	  entry in addition to the new boost ones, for compatibility reasons.
64*4882a593Smuzhiyun
65*4882a593Smuzhiyunconfig X86_SFI_CPUFREQ
66*4882a593Smuzhiyun	tristate "SFI Performance-States driver"
67*4882a593Smuzhiyun	depends on X86_INTEL_MID && SFI
68*4882a593Smuzhiyun	help
69*4882a593Smuzhiyun	  This adds a CPUFreq driver for some Silvermont based Intel Atom
70*4882a593Smuzhiyun	  architectures like Z34xx and Z35xx which enumerate processor
71*4882a593Smuzhiyun	  performance states through SFI.
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun	  If in doubt, say N.
74*4882a593Smuzhiyun
75*4882a593Smuzhiyunconfig ELAN_CPUFREQ
76*4882a593Smuzhiyun	tristate "AMD Elan SC400 and SC410"
77*4882a593Smuzhiyun	depends on MELAN
78*4882a593Smuzhiyun	help
79*4882a593Smuzhiyun	  This adds the CPUFreq driver for AMD Elan SC400 and SC410
80*4882a593Smuzhiyun	  processors.
81*4882a593Smuzhiyun
82*4882a593Smuzhiyun	  You need to specify the processor maximum speed as boot
83*4882a593Smuzhiyun	  parameter: elanfreq=maxspeed (in kHz) or as module
84*4882a593Smuzhiyun	  parameter "max_freq".
85*4882a593Smuzhiyun
86*4882a593Smuzhiyun	  For details, take a look at <file:Documentation/cpu-freq/>.
87*4882a593Smuzhiyun
88*4882a593Smuzhiyun	  If in doubt, say N.
89*4882a593Smuzhiyun
90*4882a593Smuzhiyunconfig SC520_CPUFREQ
91*4882a593Smuzhiyun	tristate "AMD Elan SC520"
92*4882a593Smuzhiyun	depends on MELAN
93*4882a593Smuzhiyun	help
94*4882a593Smuzhiyun	  This adds the CPUFreq driver for AMD Elan SC520 processor.
95*4882a593Smuzhiyun
96*4882a593Smuzhiyun	  For details, take a look at <file:Documentation/cpu-freq/>.
97*4882a593Smuzhiyun
98*4882a593Smuzhiyun	  If in doubt, say N.
99*4882a593Smuzhiyun
100*4882a593Smuzhiyun
101*4882a593Smuzhiyunconfig X86_POWERNOW_K6
102*4882a593Smuzhiyun	tristate "AMD Mobile K6-2/K6-3 PowerNow!"
103*4882a593Smuzhiyun	depends on X86_32
104*4882a593Smuzhiyun	help
105*4882a593Smuzhiyun	  This adds the CPUFreq driver for mobile AMD K6-2+ and mobile
106*4882a593Smuzhiyun	  AMD K6-3+ processors.
107*4882a593Smuzhiyun
108*4882a593Smuzhiyun	  For details, take a look at <file:Documentation/cpu-freq/>.
109*4882a593Smuzhiyun
110*4882a593Smuzhiyun	  If in doubt, say N.
111*4882a593Smuzhiyun
112*4882a593Smuzhiyunconfig X86_POWERNOW_K7
113*4882a593Smuzhiyun	tristate "AMD Mobile Athlon/Duron PowerNow!"
114*4882a593Smuzhiyun	depends on X86_32
115*4882a593Smuzhiyun	help
116*4882a593Smuzhiyun	  This adds the CPUFreq driver for mobile AMD K7 mobile processors.
117*4882a593Smuzhiyun
118*4882a593Smuzhiyun	  For details, take a look at <file:Documentation/cpu-freq/>.
119*4882a593Smuzhiyun
120*4882a593Smuzhiyun	  If in doubt, say N.
121*4882a593Smuzhiyun
122*4882a593Smuzhiyunconfig X86_POWERNOW_K7_ACPI
123*4882a593Smuzhiyun	bool
124*4882a593Smuzhiyun	depends on X86_POWERNOW_K7 && ACPI_PROCESSOR
125*4882a593Smuzhiyun	depends on !(X86_POWERNOW_K7 = y && ACPI_PROCESSOR = m)
126*4882a593Smuzhiyun	depends on X86_32
127*4882a593Smuzhiyun	default y
128*4882a593Smuzhiyun
129*4882a593Smuzhiyunconfig X86_POWERNOW_K8
130*4882a593Smuzhiyun	tristate "AMD Opteron/Athlon64 PowerNow!"
131*4882a593Smuzhiyun	depends on ACPI && ACPI_PROCESSOR && X86_ACPI_CPUFREQ
132*4882a593Smuzhiyun	help
133*4882a593Smuzhiyun	  This adds the CPUFreq driver for K8/early Opteron/Athlon64 processors.
134*4882a593Smuzhiyun	  Support for K10 and newer processors is now in acpi-cpufreq.
135*4882a593Smuzhiyun
136*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
137*4882a593Smuzhiyun	  module will be called powernow-k8.
138*4882a593Smuzhiyun
139*4882a593Smuzhiyun	  For details, take a look at <file:Documentation/cpu-freq/>.
140*4882a593Smuzhiyun
141*4882a593Smuzhiyunconfig X86_AMD_FREQ_SENSITIVITY
142*4882a593Smuzhiyun	tristate "AMD frequency sensitivity feedback powersave bias"
143*4882a593Smuzhiyun	depends on CPU_FREQ_GOV_ONDEMAND && X86_ACPI_CPUFREQ && CPU_SUP_AMD
144*4882a593Smuzhiyun	help
145*4882a593Smuzhiyun	  This adds AMD-specific powersave bias function to the ondemand
146*4882a593Smuzhiyun	  governor, which allows it to make more power-conscious frequency
147*4882a593Smuzhiyun	  change decisions based on feedback from hardware (available on AMD
148*4882a593Smuzhiyun	  Family 16h and above).
149*4882a593Smuzhiyun
150*4882a593Smuzhiyun	  Hardware feedback tells software how "sensitive" to frequency changes
151*4882a593Smuzhiyun	  the CPUs' workloads are. CPU-bound workloads will be more sensitive
152*4882a593Smuzhiyun	  -- they will perform better as frequency increases. Memory/IO-bound
153*4882a593Smuzhiyun	  workloads will be less sensitive -- they will not necessarily perform
154*4882a593Smuzhiyun	  better as frequency increases.
155*4882a593Smuzhiyun
156*4882a593Smuzhiyun	  If in doubt, say N.
157*4882a593Smuzhiyun
158*4882a593Smuzhiyunconfig X86_GX_SUSPMOD
159*4882a593Smuzhiyun	tristate "Cyrix MediaGX/NatSemi Geode Suspend Modulation"
160*4882a593Smuzhiyun	depends on X86_32 && PCI
161*4882a593Smuzhiyun	help
162*4882a593Smuzhiyun	 This add the CPUFreq driver for NatSemi Geode processors which
163*4882a593Smuzhiyun	 support suspend modulation.
164*4882a593Smuzhiyun
165*4882a593Smuzhiyun	 For details, take a look at <file:Documentation/cpu-freq/>.
166*4882a593Smuzhiyun
167*4882a593Smuzhiyun	 If in doubt, say N.
168*4882a593Smuzhiyun
169*4882a593Smuzhiyunconfig X86_SPEEDSTEP_CENTRINO
170*4882a593Smuzhiyun	tristate "Intel Enhanced SpeedStep (deprecated)"
171*4882a593Smuzhiyun	select X86_SPEEDSTEP_CENTRINO_TABLE if X86_32
172*4882a593Smuzhiyun	depends on X86_32 || (X86_64 && ACPI_PROCESSOR)
173*4882a593Smuzhiyun	help
174*4882a593Smuzhiyun	  This is deprecated and this functionality is now merged into
175*4882a593Smuzhiyun	  acpi_cpufreq (X86_ACPI_CPUFREQ). Use that driver instead of
176*4882a593Smuzhiyun	  speedstep_centrino.
177*4882a593Smuzhiyun	  This adds the CPUFreq driver for Enhanced SpeedStep enabled
178*4882a593Smuzhiyun	  mobile CPUs.  This means Intel Pentium M (Centrino) CPUs
179*4882a593Smuzhiyun	  or 64bit enabled Intel Xeons.
180*4882a593Smuzhiyun
181*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
182*4882a593Smuzhiyun	  module will be called speedstep-centrino.
183*4882a593Smuzhiyun
184*4882a593Smuzhiyun	  For details, take a look at <file:Documentation/cpu-freq/>.
185*4882a593Smuzhiyun
186*4882a593Smuzhiyun	  If in doubt, say N.
187*4882a593Smuzhiyun
188*4882a593Smuzhiyunconfig X86_SPEEDSTEP_CENTRINO_TABLE
189*4882a593Smuzhiyun	bool "Built-in tables for Banias CPUs"
190*4882a593Smuzhiyun	depends on X86_32 && X86_SPEEDSTEP_CENTRINO
191*4882a593Smuzhiyun	default y
192*4882a593Smuzhiyun	help
193*4882a593Smuzhiyun	  Use built-in tables for Banias CPUs if ACPI encoding
194*4882a593Smuzhiyun	  is not available.
195*4882a593Smuzhiyun
196*4882a593Smuzhiyun	  If in doubt, say N.
197*4882a593Smuzhiyun
198*4882a593Smuzhiyunconfig X86_SPEEDSTEP_ICH
199*4882a593Smuzhiyun	tristate "Intel Speedstep on ICH-M chipsets (ioport interface)"
200*4882a593Smuzhiyun	depends on X86_32
201*4882a593Smuzhiyun	help
202*4882a593Smuzhiyun	  This adds the CPUFreq driver for certain mobile Intel Pentium III
203*4882a593Smuzhiyun	  (Coppermine), all mobile Intel Pentium III-M (Tualatin) and all
204*4882a593Smuzhiyun	  mobile Intel Pentium 4 P4-M on systems which have an Intel ICH2,
205*4882a593Smuzhiyun	  ICH3 or ICH4 southbridge.
206*4882a593Smuzhiyun
207*4882a593Smuzhiyun	  For details, take a look at <file:Documentation/cpu-freq/>.
208*4882a593Smuzhiyun
209*4882a593Smuzhiyun	  If in doubt, say N.
210*4882a593Smuzhiyun
211*4882a593Smuzhiyunconfig X86_SPEEDSTEP_SMI
212*4882a593Smuzhiyun	tristate "Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)"
213*4882a593Smuzhiyun	depends on X86_32
214*4882a593Smuzhiyun	help
215*4882a593Smuzhiyun	  This adds the CPUFreq driver for certain mobile Intel Pentium III
216*4882a593Smuzhiyun	  (Coppermine), all mobile Intel Pentium III-M (Tualatin)
217*4882a593Smuzhiyun	  on systems which have an Intel 440BX/ZX/MX southbridge.
218*4882a593Smuzhiyun
219*4882a593Smuzhiyun	  For details, take a look at <file:Documentation/cpu-freq/>.
220*4882a593Smuzhiyun
221*4882a593Smuzhiyun	  If in doubt, say N.
222*4882a593Smuzhiyun
223*4882a593Smuzhiyunconfig X86_P4_CLOCKMOD
224*4882a593Smuzhiyun	tristate "Intel Pentium 4 clock modulation"
225*4882a593Smuzhiyun	help
226*4882a593Smuzhiyun	  This adds the CPUFreq driver for Intel Pentium 4 / XEON
227*4882a593Smuzhiyun	  processors.  When enabled it will lower CPU temperature by skipping
228*4882a593Smuzhiyun	  clocks.
229*4882a593Smuzhiyun
230*4882a593Smuzhiyun	  This driver should be only used in exceptional
231*4882a593Smuzhiyun	  circumstances when very low power is needed because it causes severe
232*4882a593Smuzhiyun	  slowdowns and noticeable latencies.  Normally Speedstep should be used
233*4882a593Smuzhiyun	  instead.
234*4882a593Smuzhiyun
235*4882a593Smuzhiyun	  To compile this driver as a module, choose M here: the
236*4882a593Smuzhiyun	  module will be called p4-clockmod.
237*4882a593Smuzhiyun
238*4882a593Smuzhiyun	  For details, take a look at <file:Documentation/cpu-freq/>.
239*4882a593Smuzhiyun
240*4882a593Smuzhiyun	  Unless you are absolutely sure say N.
241*4882a593Smuzhiyun
242*4882a593Smuzhiyunconfig X86_CPUFREQ_NFORCE2
243*4882a593Smuzhiyun	tristate "nVidia nForce2 FSB changing"
244*4882a593Smuzhiyun	depends on X86_32
245*4882a593Smuzhiyun	help
246*4882a593Smuzhiyun	  This adds the CPUFreq driver for FSB changing on nVidia nForce2
247*4882a593Smuzhiyun	  platforms.
248*4882a593Smuzhiyun
249*4882a593Smuzhiyun	  For details, take a look at <file:Documentation/cpu-freq/>.
250*4882a593Smuzhiyun
251*4882a593Smuzhiyun	  If in doubt, say N.
252*4882a593Smuzhiyun
253*4882a593Smuzhiyunconfig X86_LONGRUN
254*4882a593Smuzhiyun	tristate "Transmeta LongRun"
255*4882a593Smuzhiyun	depends on X86_32
256*4882a593Smuzhiyun	help
257*4882a593Smuzhiyun	  This adds the CPUFreq driver for Transmeta Crusoe and Efficeon processors
258*4882a593Smuzhiyun	  which support LongRun.
259*4882a593Smuzhiyun
260*4882a593Smuzhiyun	  For details, take a look at <file:Documentation/cpu-freq/>.
261*4882a593Smuzhiyun
262*4882a593Smuzhiyun	  If in doubt, say N.
263*4882a593Smuzhiyun
264*4882a593Smuzhiyunconfig X86_LONGHAUL
265*4882a593Smuzhiyun	tristate "VIA Cyrix III Longhaul"
266*4882a593Smuzhiyun	depends on X86_32 && ACPI_PROCESSOR
267*4882a593Smuzhiyun	help
268*4882a593Smuzhiyun	  This adds the CPUFreq driver for VIA Samuel/CyrixIII,
269*4882a593Smuzhiyun	  VIA Cyrix Samuel/C3, VIA Cyrix Ezra and VIA Cyrix Ezra-T
270*4882a593Smuzhiyun	  processors.
271*4882a593Smuzhiyun
272*4882a593Smuzhiyun	  For details, take a look at <file:Documentation/cpu-freq/>.
273*4882a593Smuzhiyun
274*4882a593Smuzhiyun	  If in doubt, say N.
275*4882a593Smuzhiyun
276*4882a593Smuzhiyunconfig X86_E_POWERSAVER
277*4882a593Smuzhiyun	tristate "VIA C7 Enhanced PowerSaver (DANGEROUS)"
278*4882a593Smuzhiyun	depends on X86_32 && ACPI_PROCESSOR
279*4882a593Smuzhiyun	help
280*4882a593Smuzhiyun	  This adds the CPUFreq driver for VIA C7 processors.  However, this driver
281*4882a593Smuzhiyun	  does not have any safeguards to prevent operating the CPU out of spec
282*4882a593Smuzhiyun	  and is thus considered dangerous.  Please use the regular ACPI cpufreq
283*4882a593Smuzhiyun	  driver, enabled by CONFIG_X86_ACPI_CPUFREQ.
284*4882a593Smuzhiyun
285*4882a593Smuzhiyun	  If in doubt, say N.
286*4882a593Smuzhiyun
287*4882a593Smuzhiyuncomment "shared options"
288*4882a593Smuzhiyun
289*4882a593Smuzhiyunconfig X86_SPEEDSTEP_LIB
290*4882a593Smuzhiyun	tristate
291*4882a593Smuzhiyun	default (X86_SPEEDSTEP_ICH || X86_SPEEDSTEP_SMI || X86_P4_CLOCKMOD)
292*4882a593Smuzhiyun
293*4882a593Smuzhiyunconfig X86_SPEEDSTEP_RELAXED_CAP_CHECK
294*4882a593Smuzhiyun	bool "Relaxed speedstep capability checks"
295*4882a593Smuzhiyun	depends on X86_32 && (X86_SPEEDSTEP_SMI || X86_SPEEDSTEP_ICH)
296*4882a593Smuzhiyun	help
297*4882a593Smuzhiyun	  Don't perform all checks for a speedstep capable system which would
298*4882a593Smuzhiyun	  normally be done. Some ancient or strange systems, though speedstep
299*4882a593Smuzhiyun	  capable, don't always indicate that they are speedstep capable. This
300*4882a593Smuzhiyun	  option lets the probing code bypass some of those checks if the
301*4882a593Smuzhiyun	  parameter "relaxed_check=1" is passed to the module.
302*4882a593Smuzhiyun
303