]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blame - drivers/cpufreq/Kconfig
Merge tag 'dmaengine-fix-4.10-rc7' of git://git.infradead.org/users/vkoul/slave-dma
[mirror_ubuntu-zesty-kernel.git] / drivers / cpufreq / Kconfig
CommitLineData
bb0a56ec
DJ
1menu "CPU Frequency scaling"
2
1da177e4
LT
3config CPU_FREQ
4 bool "CPU Frequency scaling"
83fe27ea 5 select SRCU
1da177e4
LT
6 help
7 CPU Frequency scaling allows you to change the clock speed of
8 CPUs on the fly. This is a nice method to save power, because
9 the lower the CPU clock speed, the less power the CPU consumes.
10
11 Note that this driver doesn't automatically change the CPU
12 clock speed, you need to either enable a dynamic cpufreq governor
13 (see below) after boot, or use a userspace tool.
14
15 For details, take a look at <file:Documentation/cpu-freq>.
16
17 If in doubt, say N.
18
19if CPU_FREQ
20
2d0c58ad
RW
21config CPU_FREQ_GOV_ATTR_SET
22 bool
23
1e15f295 24config CPU_FREQ_GOV_COMMON
2d0c58ad 25 select CPU_FREQ_GOV_ATTR_SET
e6f03657 26 select IRQ_WORK
1e15f295
LF
27 bool
28
2fb4719b
LM
29config CPU_FREQ_BOOST_SW
30 bool
31 depends on THERMAL
32
1da177e4 33config CPU_FREQ_STAT
1aefc75b 34 bool "CPU frequency transition statistics"
9101be53 35 help
1aefc75b 36 Export CPU frequency statistics information through sysfs.
9101be53
MF
37
38 If in doubt, say N.
1da177e4
LT
39
40config CPU_FREQ_STAT_DETAILS
1aefc75b 41 bool "CPU frequency transition statistics details"
9101be53
MF
42 depends on CPU_FREQ_STAT
43 help
1aefc75b 44 Show detailed CPU frequency transition table in sysfs.
9101be53
MF
45
46 If in doubt, say N.
1da177e4
LT
47
48choice
49 prompt "Default CPUFreq governor"
559f56c7 50 default CPU_FREQ_DEFAULT_GOV_USERSPACE if ARM_SA1100_CPUFREQ || ARM_SA1110_CPUFREQ
1da177e4
LT
51 default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
52 help
53 This option sets which CPUFreq governor shall be loaded at
54 startup. If in doubt, select 'performance'.
55
56config CPU_FREQ_DEFAULT_GOV_PERFORMANCE
57 bool "performance"
58 select CPU_FREQ_GOV_PERFORMANCE
59 help
60 Use the CPUFreq governor 'performance' as default. This sets
61 the frequency statically to the highest frequency supported by
62 the CPU.
63
30d221db
AG
64config CPU_FREQ_DEFAULT_GOV_POWERSAVE
65 bool "powersave"
30d221db
AG
66 select CPU_FREQ_GOV_POWERSAVE
67 help
68 Use the CPUFreq governor 'powersave' as default. This sets
69 the frequency statically to the lowest frequency supported by
70 the CPU.
71
1da177e4
LT
72config CPU_FREQ_DEFAULT_GOV_USERSPACE
73 bool "userspace"
74 select CPU_FREQ_GOV_USERSPACE
75 help
76 Use the CPUFreq governor 'userspace' as default. This allows
0211a9c8 77 you to set the CPU frequency manually or when a userspace
1da177e4
LT
78 program shall be able to set the CPU dynamically without having
79 to enable the userspace governor manually.
80
1c256245
TR
81config CPU_FREQ_DEFAULT_GOV_ONDEMAND
82 bool "ondemand"
83 select CPU_FREQ_GOV_ONDEMAND
84 select CPU_FREQ_GOV_PERFORMANCE
85 help
86 Use the CPUFreq governor 'ondemand' as default. This allows
87 you to get a full dynamic frequency capable system by simply
88 loading your cpufreq low-level hardware driver.
89 Be aware that not all cpufreq drivers support the ondemand
90 governor. If unsure have a look at the help section of the
91 driver. Fallback governor will be the performance governor.
92
93config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
94 bool "conservative"
95 select CPU_FREQ_GOV_CONSERVATIVE
96 select CPU_FREQ_GOV_PERFORMANCE
97 help
98 Use the CPUFreq governor 'conservative' as default. This allows
99 you to get a full dynamic frequency capable system by simply
100 loading your cpufreq low-level hardware driver.
101 Be aware that not all cpufreq drivers support the conservative
102 governor. If unsure have a look at the help section of the
103 driver. Fallback governor will be the performance governor.
9bdcb44e
RW
104
105config CPU_FREQ_DEFAULT_GOV_SCHEDUTIL
106 bool "schedutil"
cfe9492f 107 depends on SMP
9bdcb44e
RW
108 select CPU_FREQ_GOV_SCHEDUTIL
109 select CPU_FREQ_GOV_PERFORMANCE
110 help
111 Use the 'schedutil' CPUFreq governor by default. If unsure,
112 have a look at the help section of that governor. The fallback
113 governor will be 'performance'.
114
1da177e4
LT
115endchoice
116
117config CPU_FREQ_GOV_PERFORMANCE
9101be53
MF
118 tristate "'performance' governor"
119 help
1da177e4
LT
120 This cpufreq governor sets the frequency statically to the
121 highest available CPU frequency.
122
9101be53
MF
123 To compile this driver as a module, choose M here: the
124 module will be called cpufreq_performance.
125
1da177e4
LT
126 If in doubt, say Y.
127
128config CPU_FREQ_GOV_POWERSAVE
9101be53
MF
129 tristate "'powersave' governor"
130 help
1da177e4
LT
131 This cpufreq governor sets the frequency statically to the
132 lowest available CPU frequency.
133
9101be53
MF
134 To compile this driver as a module, choose M here: the
135 module will be called cpufreq_powersave.
136
1da177e4
LT
137 If in doubt, say Y.
138
139config CPU_FREQ_GOV_USERSPACE
9101be53
MF
140 tristate "'userspace' governor for userspace frequency scaling"
141 help
1da177e4 142 Enable this cpufreq governor when you either want to set the
0211a9c8 143 CPU frequency manually or when a userspace program shall
1da177e4 144 be able to set the CPU dynamically, like on LART
4c41251e 145 <http://www.lartmaker.nl/>.
1da177e4 146
9101be53
MF
147 To compile this driver as a module, choose M here: the
148 module will be called cpufreq_userspace.
149
1da177e4
LT
150 For details, take a look at <file:Documentation/cpu-freq/>.
151
152 If in doubt, say Y.
153
154config CPU_FREQ_GOV_ONDEMAND
155 tristate "'ondemand' cpufreq policy governor"
1e15f295 156 select CPU_FREQ_GOV_COMMON
1da177e4
LT
157 help
158 'ondemand' - This driver adds a dynamic cpufreq policy governor.
159 The governor does a periodic polling and
160 changes frequency based on the CPU utilization.
161 The support for this governor depends on CPU capability to
162 do fast frequency switching (i.e, very low latency frequency
163 transitions).
164
9101be53
MF
165 To compile this driver as a module, choose M here: the
166 module will be called cpufreq_ondemand.
167
1da177e4
LT
168 For details, take a look at linux/Documentation/cpu-freq.
169
170 If in doubt, say N.
171
b9170836
DJ
172config CPU_FREQ_GOV_CONSERVATIVE
173 tristate "'conservative' cpufreq governor"
174 depends on CPU_FREQ
1e15f295 175 select CPU_FREQ_GOV_COMMON
b9170836
DJ
176 help
177 'conservative' - this driver is rather similar to the 'ondemand'
178 governor both in its source code and its purpose, the difference is
179 its optimisation for better suitability in a battery powered
180 environment. The frequency is gracefully increased and decreased
181 rather than jumping to 100% when speed is required.
182
183 If you have a desktop machine then you should really be considering
184 the 'ondemand' governor instead, however if you are using a laptop,
185 PDA or even an AMD64 based computer (due to the unacceptable
186 step-by-step latency issues between the minimum and maximum frequency
187 transitions in the CPU) you will probably want to use this governor.
188
9101be53
MF
189 To compile this driver as a module, choose M here: the
190 module will be called cpufreq_conservative.
191
b9170836
DJ
192 For details, take a look at linux/Documentation/cpu-freq.
193
194 If in doubt, say N.
195
9bdcb44e 196config CPU_FREQ_GOV_SCHEDUTIL
58919e83 197 bool "'schedutil' cpufreq policy governor"
bf7cdff1 198 depends on CPU_FREQ && SMP
9bdcb44e
RW
199 select CPU_FREQ_GOV_ATTR_SET
200 select IRQ_WORK
201 help
202 This governor makes decisions based on the utilization data provided
203 by the scheduler. It sets the CPU frequency to be proportional to
204 the utilization/capacity ratio coming from the scheduler. If the
205 utilization is frequency-invariant, the new frequency is also
206 proportional to the maximum available frequency. If that is not the
207 case, it is proportional to the current frequency of the CPU. The
208 frequency tipping point is at utilization/capacity equal to 80% in
209 both cases.
210
9bdcb44e
RW
211 If in doubt, say N.
212
f41f4815
VK
213comment "CPU frequency scaling drivers"
214
bbcf0719
VK
215config CPUFREQ_DT
216 tristate "Generic DT based cpufreq driver"
5fbfbcd3 217 depends on HAVE_CLK && OF
bbcf0719 218 # if CPU_THERMAL is on and THERMAL=m, CPUFREQ_DT cannot be =y:
217886d3 219 depends on !CPU_THERMAL || THERMAL
f56aad1d 220 select CPUFREQ_DT_PLATDEV
109df086 221 select PM_OPP
95ceafd4 222 help
bbcf0719 223 This adds a generic DT based cpufreq driver for frequency management.
95ceafd4 224 It supports both uniprocessor (UP) and symmetric multiprocessor (SMP)
33cc4fc1 225 systems.
95ceafd4
SG
226
227 If in doubt, say N.
228
f56aad1d
VK
229config CPUFREQ_DT_PLATDEV
230 bool
231 help
232 This adds a generic DT based cpufreq platdev driver for frequency
233 management. This creates a 'cpufreq-dt' platform device, on the
234 supported platforms.
235
236 If in doubt, say N.
237
f41f4815 238if X86
bb0a56ec 239source "drivers/cpufreq/Kconfig.x86"
f41f4815 240endif
bb0a56ec 241
f41f4815 242if ARM || ARM64
f7d77079 243source "drivers/cpufreq/Kconfig.arm"
f41f4815 244endif
f7d77079 245
f41f4815
VK
246if PPC32 || PPC64
247source "drivers/cpufreq/Kconfig.powerpc"
248endif
81c720c9 249
f41f4815 250if AVR32
81c720c9
VK
251config AVR32_AT32AP_CPUFREQ
252 bool "CPU frequency driver for AT32AP"
253 depends on PLATFORM_AT32AP
254 default n
255 help
256 This enables the CPU frequency driver for AT32AP processors.
257 If in doubt, say N.
f41f4815 258endif
81c720c9 259
f41f4815 260if IA64
ab423e43
VK
261config IA64_ACPI_CPUFREQ
262 tristate "ACPI Processor P-States driver"
ab423e43
VK
263 depends on ACPI_PROCESSOR
264 help
265 This driver adds a CPUFreq driver which utilizes the ACPI
266 Processor Performance States.
267
268 For details, take a look at <file:Documentation/cpu-freq/>.
269
270 If in doubt, say N.
f41f4815 271endif
ab423e43 272
f41f4815 273if MIPS
7a998935
VK
274config LOONGSON2_CPUFREQ
275 tristate "Loongson2 CPUFreq Driver"
7a998935
VK
276 help
277 This option adds a CPUFreq driver for loongson processors which
278 support software configurable cpu frequency.
279
280 Loongson2F and it's successors support this feature.
281
282 For details, take a look at <file:Documentation/cpu-freq/>.
283
284 If in doubt, say N.
285
a0a22cf1
KC
286config LOONGSON1_CPUFREQ
287 tristate "Loongson1 CPUFreq Driver"
288 help
289 This option adds a CPUFreq driver for loongson1 processors which
290 support software configurable cpu frequency.
291
292 For details, take a look at <file:Documentation/cpu-freq/>.
293
294 If in doubt, say N.
f41f4815 295endif
a0a22cf1 296
f41f4815 297if SPARC64
764295ae
VK
298config SPARC_US3_CPUFREQ
299 tristate "UltraSPARC-III CPU Frequency driver"
764295ae
VK
300 help
301 This adds the CPUFreq driver for UltraSPARC-III processors.
302
303 For details, take a look at <file:Documentation/cpu-freq>.
304
305 If in doubt, say N.
306
307config SPARC_US2E_CPUFREQ
308 tristate "UltraSPARC-IIe CPU Frequency driver"
764295ae
VK
309 help
310 This adds the CPUFreq driver for UltraSPARC-IIe processors.
311
312 For details, take a look at <file:Documentation/cpu-freq>.
313
314 If in doubt, say N.
f41f4815 315endif
764295ae 316
f41f4815 317if SUPERH
7258267e
VK
318config SH_CPU_FREQ
319 tristate "SuperH CPU Frequency driver"
7258267e
VK
320 help
321 This adds the cpufreq driver for SuperH. Any CPU that supports
322 clock rate rounding through the clock framework can use this
323 driver. While it will make the kernel slightly larger, this is
324 harmless for CPUs that don't support rate rounding. The driver
325 will also generate a notice in the boot log before disabling
326 itself if the CPU in question is not capable of rate rounding.
327
328 For details, take a look at <file:Documentation/cpu-freq>.
329
330 If unsure, say N.
f41f4815 331endif
7258267e 332
2f249358
TY
333config QORIQ_CPUFREQ
334 tristate "CPU frequency scaling driver for Freescale QorIQ SoCs"
335 depends on OF && COMMON_CLK && (PPC_E500MC || ARM)
ddd30ef4 336 depends on !CPU_THERMAL || THERMAL
2f249358
TY
337 select CLK_QORIQ
338 help
339 This adds the CPUFreq driver support for Freescale QorIQ SoCs
340 which are capable of changing the CPU's frequency dynamically.
341
bb0a56ec
DJ
342endif
343endmenu