Merge tag 'sched-psi-2022-10-14' of git://git.kernel.org/pub/scm/linux/kernel/git...
[platform/kernel/linux-starfive.git] / drivers / cpufreq / Kconfig.x86
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # x86 CPU Frequency scaling drivers
4 #
5
6 config X86_INTEL_PSTATE
7         bool "Intel P state control"
8         depends on X86
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
13         help
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.
17
18           When this driver is enabled it will become the preferred
19           scaling driver for Sandy bridge processors.
20
21           If in doubt, say N.
22
23 config X86_PCC_CPUFREQ
24         tristate "Processor Clocking Control interface driver"
25         depends on ACPI && ACPI_PROCESSOR
26         help
27           This driver adds support for the PCC interface.
28
29           For details, take a look at:
30           <file:Documentation/admin-guide/pm/cpufreq_drivers.rst>.
31
32           To compile this driver as a module, choose M here: the
33           module will be called pcc-cpufreq.
34
35           If in doubt, say N.
36
37 config X86_AMD_PSTATE
38         tristate "AMD Processor P-State driver"
39         depends on X86 && ACPI
40         select ACPI_PROCESSOR
41         select ACPI_CPPC_LIB if X86_64
42         select CPU_FREQ_GOV_SCHEDUTIL if SMP
43         help
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
47           of the system.
48
49           For details, take a look at:
50           <file:Documentation/admin-guide/pm/amd-pstate.rst>.
51
52           If in doubt, say N.
53
54 config X86_AMD_PSTATE_UT
55         tristate "selftest for AMD Processor P-State driver"
56         depends on X86 && ACPI_PROCESSOR
57         default n
58         help
59           This kernel module is used for testing. It's safe to say M here.
60
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
67           the test results.
68
69 config X86_ACPI_CPUFREQ
70         tristate "ACPI Processor P-States driver"
71         depends on ACPI_PROCESSOR
72         help
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
76           AMD CPUs.
77
78           To compile this driver as a module, choose M here: the
79           module will be called acpi-cpufreq.
80
81           For details, take a look at <file:Documentation/cpu-freq/>.
82
83           If in doubt, say N.
84
85 config X86_ACPI_CPUFREQ_CPB
86         default y
87         bool "Legacy cpb sysfs knob support for AMD CPUs"
88         depends on X86_ACPI_CPUFREQ && CPU_SUP_AMD
89         help
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.
93
94           By enabling this option the acpi_cpufreq driver provides the old
95           entry in addition to the new boost ones, for compatibility reasons.
96
97 config ELAN_CPUFREQ
98         tristate "AMD Elan SC400 and SC410"
99         depends on MELAN
100         help
101           This adds the CPUFreq driver for AMD Elan SC400 and SC410
102           processors.
103
104           You need to specify the processor maximum speed as boot
105           parameter: elanfreq=maxspeed (in kHz) or as module
106           parameter "max_freq".
107
108           For details, take a look at <file:Documentation/cpu-freq/>.
109
110           If in doubt, say N.
111
112 config SC520_CPUFREQ
113         tristate "AMD Elan SC520"
114         depends on MELAN
115         help
116           This adds the CPUFreq driver for AMD Elan SC520 processor.
117
118           For details, take a look at <file:Documentation/cpu-freq/>.
119
120           If in doubt, say N.
121
122
123 config X86_POWERNOW_K6
124         tristate "AMD Mobile K6-2/K6-3 PowerNow!"
125         depends on X86_32
126         help
127           This adds the CPUFreq driver for mobile AMD K6-2+ and mobile
128           AMD K6-3+ processors.
129
130           For details, take a look at <file:Documentation/cpu-freq/>.
131
132           If in doubt, say N.
133
134 config X86_POWERNOW_K7
135         tristate "AMD Mobile Athlon/Duron PowerNow!"
136         depends on X86_32
137         help
138           This adds the CPUFreq driver for mobile AMD K7 mobile processors.
139
140           For details, take a look at <file:Documentation/cpu-freq/>.
141
142           If in doubt, say N.
143
144 config X86_POWERNOW_K7_ACPI
145         bool
146         depends on X86_POWERNOW_K7 && ACPI_PROCESSOR
147         depends on !(X86_POWERNOW_K7 = y && ACPI_PROCESSOR = m)
148         depends on X86_32
149         default y
150
151 config X86_POWERNOW_K8
152         tristate "AMD Opteron/Athlon64 PowerNow!"
153         depends on ACPI && ACPI_PROCESSOR && X86_ACPI_CPUFREQ
154         help
155           This adds the CPUFreq driver for K8/early Opteron/Athlon64 processors.
156           Support for K10 and newer processors is now in acpi-cpufreq.
157
158           To compile this driver as a module, choose M here: the
159           module will be called powernow-k8.
160
161           For details, take a look at <file:Documentation/cpu-freq/>.
162
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
166         help
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).
171
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.
177
178           If in doubt, say N.
179
180 config X86_GX_SUSPMOD
181         tristate "Cyrix MediaGX/NatSemi Geode Suspend Modulation"
182         depends on X86_32 && PCI
183         help
184          This add the CPUFreq driver for NatSemi Geode processors which
185          support suspend modulation.
186
187          For details, take a look at <file:Documentation/cpu-freq/>.
188
189          If in doubt, say N.
190
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)
195         help
196           This is deprecated and this functionality is now merged into
197           acpi_cpufreq (X86_ACPI_CPUFREQ). Use that driver instead of
198           speedstep_centrino.
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.
202
203           To compile this driver as a module, choose M here: the
204           module will be called speedstep-centrino.
205
206           For details, take a look at <file:Documentation/cpu-freq/>.
207
208           If in doubt, say N.
209
210 config X86_SPEEDSTEP_CENTRINO_TABLE
211         bool "Built-in tables for Banias CPUs"
212         depends on X86_32 && X86_SPEEDSTEP_CENTRINO
213         default y
214         help
215           Use built-in tables for Banias CPUs if ACPI encoding
216           is not available.
217
218           If in doubt, say N.
219
220 config X86_SPEEDSTEP_ICH
221         tristate "Intel Speedstep on ICH-M chipsets (ioport interface)"
222         depends on X86_32
223         help
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.
228
229           For details, take a look at <file:Documentation/cpu-freq/>.
230
231           If in doubt, say N.
232
233 config X86_SPEEDSTEP_SMI
234         tristate "Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)"
235         depends on X86_32
236         help
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.
240
241           For details, take a look at <file:Documentation/cpu-freq/>.
242
243           If in doubt, say N.
244
245 config X86_P4_CLOCKMOD
246         tristate "Intel Pentium 4 clock modulation"
247         help
248           This adds the CPUFreq driver for Intel Pentium 4 / XEON
249           processors.  When enabled it will lower CPU temperature by skipping
250           clocks.
251
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
255           instead.
256
257           To compile this driver as a module, choose M here: the
258           module will be called p4-clockmod.
259
260           For details, take a look at <file:Documentation/cpu-freq/>.
261
262           Unless you are absolutely sure say N.
263
264 config X86_CPUFREQ_NFORCE2
265         tristate "nVidia nForce2 FSB changing"
266         depends on X86_32
267         help
268           This adds the CPUFreq driver for FSB changing on nVidia nForce2
269           platforms.
270
271           For details, take a look at <file:Documentation/cpu-freq/>.
272
273           If in doubt, say N.
274
275 config X86_LONGRUN
276         tristate "Transmeta LongRun"
277         depends on X86_32
278         help
279           This adds the CPUFreq driver for Transmeta Crusoe and Efficeon processors
280           which support LongRun.
281
282           For details, take a look at <file:Documentation/cpu-freq/>.
283
284           If in doubt, say N.
285
286 config X86_LONGHAUL
287         tristate "VIA Cyrix III Longhaul"
288         depends on X86_32 && ACPI_PROCESSOR
289         help
290           This adds the CPUFreq driver for VIA Samuel/CyrixIII,
291           VIA Cyrix Samuel/C3, VIA Cyrix Ezra and VIA Cyrix Ezra-T
292           processors.
293
294           For details, take a look at <file:Documentation/cpu-freq/>.
295
296           If in doubt, say N.
297
298 config X86_E_POWERSAVER
299         tristate "VIA C7 Enhanced PowerSaver (DANGEROUS)"
300         depends on X86_32 && ACPI_PROCESSOR
301         help
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.
306
307           If in doubt, say N.
308
309 comment "shared options"
310
311 config X86_SPEEDSTEP_LIB
312         tristate
313         default (X86_SPEEDSTEP_ICH || X86_SPEEDSTEP_SMI || X86_P4_CLOCKMOD)
314
315 config X86_SPEEDSTEP_RELAXED_CAP_CHECK
316         bool "Relaxed speedstep capability checks"
317         depends on X86_32 && (X86_SPEEDSTEP_SMI || X86_SPEEDSTEP_ICH)
318         help
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.
324