]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - drivers/cpufreq/Kconfig
ENGR00273073-2 cpufreq: add interactive governor for cpufreq
[karo-tx-linux.git] / drivers / cpufreq / Kconfig
1 menu "CPU Frequency scaling"
2
3 config CPU_FREQ
4         bool "CPU Frequency scaling"
5         help
6           CPU Frequency scaling allows you to change the clock speed of 
7           CPUs on the fly. This is a nice method to save power, because 
8           the lower the CPU clock speed, the less power the CPU consumes.
9
10           Note that this driver doesn't automatically change the CPU
11           clock speed, you need to either enable a dynamic cpufreq governor
12           (see below) after boot, or use a userspace tool.
13
14           For details, take a look at <file:Documentation/cpu-freq>.
15
16           If in doubt, say N.
17
18 if CPU_FREQ
19
20 config CPU_FREQ_GOV_COMMON
21         bool
22
23 config CPU_FREQ_BOOST_SW
24         bool
25         depends on THERMAL
26
27 config CPU_FREQ_STAT
28         tristate "CPU frequency translation statistics"
29         default y
30         help
31           This driver exports CPU frequency statistics information through sysfs
32           file system.
33
34           To compile this driver as a module, choose M here: the
35           module will be called cpufreq_stats.
36
37           If in doubt, say N.
38
39 config CPU_FREQ_STAT_DETAILS
40         bool "CPU frequency translation statistics details"
41         depends on CPU_FREQ_STAT
42         help
43           This will show detail CPU frequency translation table in sysfs file
44           system.
45
46           If in doubt, say N.
47
48 choice
49         prompt "Default CPUFreq governor"
50         default CPU_FREQ_DEFAULT_GOV_USERSPACE if ARM_SA1100_CPUFREQ || ARM_SA1110_CPUFREQ
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
56 config 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
64 config CPU_FREQ_DEFAULT_GOV_POWERSAVE
65         bool "powersave"
66         depends on EXPERT
67         select CPU_FREQ_GOV_POWERSAVE
68         help
69           Use the CPUFreq governor 'powersave' as default. This sets
70           the frequency statically to the lowest frequency supported by
71           the CPU.
72
73 config CPU_FREQ_DEFAULT_GOV_USERSPACE
74         bool "userspace"
75         select CPU_FREQ_GOV_USERSPACE
76         help
77           Use the CPUFreq governor 'userspace' as default. This allows
78           you to set the CPU frequency manually or when a userspace 
79           program shall be able to set the CPU dynamically without having
80           to enable the userspace governor manually.
81
82 config CPU_FREQ_DEFAULT_GOV_ONDEMAND
83         bool "ondemand"
84         select CPU_FREQ_GOV_ONDEMAND
85         select CPU_FREQ_GOV_PERFORMANCE
86         help
87           Use the CPUFreq governor 'ondemand' as default. This allows
88           you to get a full dynamic frequency capable system by simply
89           loading your cpufreq low-level hardware driver.
90           Be aware that not all cpufreq drivers support the ondemand
91           governor. If unsure have a look at the help section of the
92           driver. Fallback governor will be the performance governor.
93
94 config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
95         bool "conservative"
96         select CPU_FREQ_GOV_CONSERVATIVE
97         select CPU_FREQ_GOV_PERFORMANCE
98         help
99           Use the CPUFreq governor 'conservative' as default. This allows
100           you to get a full dynamic frequency capable system by simply
101           loading your cpufreq low-level hardware driver.
102           Be aware that not all cpufreq drivers support the conservative
103           governor. If unsure have a look at the help section of the
104           driver. Fallback governor will be the performance governor.
105
106 config CPU_FREQ_DEFAULT_GOV_INTERACTIVE
107         bool "interactive"
108         select CPU_FREQ_GOV_INTERACTIVE
109         select CPU_FREQ_GOV_PERFORMANCE
110         help
111           Use the CPUFreq governor 'interactive' as default. This allows
112           you to get a full dynamic cpu frequency capable system by simply
113           loading your cpufreq low-level hardware driver, using the
114           'interactive' governor for latency-sensitive workloads. Fallback
115           governor will be the performance governor.
116
117 endchoice
118
119 config CPU_FREQ_GOV_PERFORMANCE
120         tristate "'performance' governor"
121         help
122           This cpufreq governor sets the frequency statically to the
123           highest available CPU frequency.
124
125           To compile this driver as a module, choose M here: the
126           module will be called cpufreq_performance.
127
128           If in doubt, say Y.
129
130 config CPU_FREQ_GOV_POWERSAVE
131         tristate "'powersave' governor"
132         help
133           This cpufreq governor sets the frequency statically to the
134           lowest available CPU frequency.
135
136           To compile this driver as a module, choose M here: the
137           module will be called cpufreq_powersave.
138
139           If in doubt, say Y.
140
141 config CPU_FREQ_GOV_USERSPACE
142         tristate "'userspace' governor for userspace frequency scaling"
143         help
144           Enable this cpufreq governor when you either want to set the
145           CPU frequency manually or when a userspace program shall
146           be able to set the CPU dynamically, like on LART 
147           <http://www.lartmaker.nl/>.
148
149           To compile this driver as a module, choose M here: the
150           module will be called cpufreq_userspace.
151
152           For details, take a look at <file:Documentation/cpu-freq/>.
153
154           If in doubt, say Y.
155
156 config CPU_FREQ_GOV_ONDEMAND
157         tristate "'ondemand' cpufreq policy governor"
158         select CPU_FREQ_GOV_COMMON
159         help
160           'ondemand' - This driver adds a dynamic cpufreq policy governor.
161           The governor does a periodic polling and 
162           changes frequency based on the CPU utilization.
163           The support for this governor depends on CPU capability to
164           do fast frequency switching (i.e, very low latency frequency
165           transitions). 
166
167           To compile this driver as a module, choose M here: the
168           module will be called cpufreq_ondemand.
169
170           For details, take a look at linux/Documentation/cpu-freq.
171
172           If in doubt, say N.
173
174 config CPU_FREQ_GOV_CONSERVATIVE
175         tristate "'conservative' cpufreq governor"
176         depends on CPU_FREQ
177         select CPU_FREQ_GOV_COMMON
178         help
179           'conservative' - this driver is rather similar to the 'ondemand'
180           governor both in its source code and its purpose, the difference is
181           its optimisation for better suitability in a battery powered
182           environment.  The frequency is gracefully increased and decreased
183           rather than jumping to 100% when speed is required.
184
185           If you have a desktop machine then you should really be considering
186           the 'ondemand' governor instead, however if you are using a laptop,
187           PDA or even an AMD64 based computer (due to the unacceptable
188           step-by-step latency issues between the minimum and maximum frequency
189           transitions in the CPU) you will probably want to use this governor.
190
191           To compile this driver as a module, choose M here: the
192           module will be called cpufreq_conservative.
193
194           For details, take a look at linux/Documentation/cpu-freq.
195
196           If in doubt, say N.
197
198 config CPU_FREQ_GOV_INTERACTIVE
199           tristate "'interactive' cpufreq policy governor"
200           help
201           'interactive' - This driver adds a dynamic cpufreq policy governor
202           designed for latency-sensitive workloads.
203
204           This governor attempts to reduce the latency of clock
205           increases so that the system is more responsive to
206           interactive workloads.
207
208           To compile this driver as a module, choose M here: the
209           module will be called cpufreq_interactive.
210
211           For details, take a look at linux/Documentation/cpu-freq.
212
213           If in doubt, say N.
214
215 config GENERIC_CPUFREQ_CPU0
216         tristate "Generic CPU0 cpufreq driver"
217         depends on HAVE_CLK && OF
218         # if CPU_THERMAL is on and THERMAL=m, CPU0 cannot be =y:
219         depends on !CPU_THERMAL || THERMAL
220         select PM_OPP
221         help
222           This adds a generic cpufreq driver for CPU0 frequency management.
223           It supports both uniprocessor (UP) and symmetric multiprocessor (SMP)
224           systems which share clock and voltage across all CPUs.
225
226           If in doubt, say N.
227
228 menu "x86 CPU frequency scaling drivers"
229 depends on X86
230 source "drivers/cpufreq/Kconfig.x86"
231 endmenu
232
233 menu "ARM CPU frequency scaling drivers"
234 depends on ARM || ARM64
235 source "drivers/cpufreq/Kconfig.arm"
236 endmenu
237
238 menu "AVR32 CPU frequency scaling drivers"
239 depends on AVR32
240
241 config AVR32_AT32AP_CPUFREQ
242         bool "CPU frequency driver for AT32AP"
243         depends on PLATFORM_AT32AP
244         default n
245         help
246           This enables the CPU frequency driver for AT32AP processors.
247           If in doubt, say N.
248
249 endmenu
250
251 menu "CPUFreq processor drivers"
252 depends on IA64
253
254 config IA64_ACPI_CPUFREQ
255         tristate "ACPI Processor P-States driver"
256         depends on ACPI_PROCESSOR
257         help
258         This driver adds a CPUFreq driver which utilizes the ACPI
259         Processor Performance States.
260
261         For details, take a look at <file:Documentation/cpu-freq/>.
262
263         If in doubt, say N.
264
265 endmenu
266
267 menu "MIPS CPUFreq processor drivers"
268 depends on MIPS
269
270 config LOONGSON2_CPUFREQ
271         tristate "Loongson2 CPUFreq Driver"
272         help
273           This option adds a CPUFreq driver for loongson processors which
274           support software configurable cpu frequency.
275
276           Loongson2F and it's successors support this feature.
277
278           For details, take a look at <file:Documentation/cpu-freq/>.
279
280           If in doubt, say N.
281
282 endmenu
283
284 menu "PowerPC CPU frequency scaling drivers"
285 depends on PPC32 || PPC64
286 source "drivers/cpufreq/Kconfig.powerpc"
287 endmenu
288
289 menu "SPARC CPU frequency scaling drivers"
290 depends on SPARC64
291 config SPARC_US3_CPUFREQ
292         tristate "UltraSPARC-III CPU Frequency driver"
293         help
294           This adds the CPUFreq driver for UltraSPARC-III processors.
295
296           For details, take a look at <file:Documentation/cpu-freq>.
297
298           If in doubt, say N.
299
300 config SPARC_US2E_CPUFREQ
301         tristate "UltraSPARC-IIe CPU Frequency driver"
302         help
303           This adds the CPUFreq driver for UltraSPARC-IIe processors.
304
305           For details, take a look at <file:Documentation/cpu-freq>.
306
307           If in doubt, say N.
308 endmenu
309
310 menu "SH CPU Frequency scaling"
311 depends on SUPERH
312 config SH_CPU_FREQ
313         tristate "SuperH CPU Frequency driver"
314         help
315           This adds the cpufreq driver for SuperH. Any CPU that supports
316           clock rate rounding through the clock framework can use this
317           driver. While it will make the kernel slightly larger, this is
318           harmless for CPUs that don't support rate rounding. The driver
319           will also generate a notice in the boot log before disabling
320           itself if the CPU in question is not capable of rate rounding.
321
322           For details, take a look at <file:Documentation/cpu-freq>.
323
324           If unsure, say N.
325 endmenu
326
327 endif
328 endmenu