update rkwifi driver
[firefly-linux-kernel-4.4.55.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_TABLE
21         tristate
22
23 config CPU_FREQ_STAT
24         tristate "CPU frequency translation statistics"
25         select CPU_FREQ_TABLE
26         default y
27         help
28           This driver exports CPU frequency statistics information through sysfs
29           file system.
30
31           To compile this driver as a module, choose M here: the
32           module will be called cpufreq_stats.
33
34           If in doubt, say N.
35
36 config CPU_FREQ_STAT_DETAILS
37         bool "CPU frequency translation statistics details"
38         depends on CPU_FREQ_STAT
39         help
40           This will show detail CPU frequency translation table in sysfs file
41           system.
42
43           If in doubt, say N.
44
45 choice
46         prompt "Default CPUFreq governor"
47         default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110
48         default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
49         help
50           This option sets which CPUFreq governor shall be loaded at
51           startup. If in doubt, select 'performance'.
52
53 config CPU_FREQ_DEFAULT_GOV_PERFORMANCE
54         bool "performance"
55         select CPU_FREQ_GOV_PERFORMANCE
56         help
57           Use the CPUFreq governor 'performance' as default. This sets
58           the frequency statically to the highest frequency supported by
59           the CPU.
60
61 config CPU_FREQ_DEFAULT_GOV_POWERSAVE
62         bool "powersave"
63         depends on EXPERT
64         select CPU_FREQ_GOV_POWERSAVE
65         help
66           Use the CPUFreq governor 'powersave' as default. This sets
67           the frequency statically to the lowest frequency supported by
68           the CPU.
69
70 config CPU_FREQ_DEFAULT_GOV_USERSPACE
71         bool "userspace"
72         select CPU_FREQ_GOV_USERSPACE
73         help
74           Use the CPUFreq governor 'userspace' as default. This allows
75           you to set the CPU frequency manually or when a userspace 
76           program shall be able to set the CPU dynamically without having
77           to enable the userspace governor manually.
78
79 config CPU_FREQ_DEFAULT_GOV_ONDEMAND
80         bool "ondemand"
81         select CPU_FREQ_GOV_ONDEMAND
82         select CPU_FREQ_GOV_PERFORMANCE
83         help
84           Use the CPUFreq governor 'ondemand' as default. This allows
85           you to get a full dynamic frequency capable system by simply
86           loading your cpufreq low-level hardware driver.
87           Be aware that not all cpufreq drivers support the ondemand
88           governor. If unsure have a look at the help section of the
89           driver. Fallback governor will be the performance governor.
90
91 config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
92         bool "conservative"
93         select CPU_FREQ_GOV_CONSERVATIVE
94         select CPU_FREQ_GOV_PERFORMANCE
95         help
96           Use the CPUFreq governor 'conservative' as default. This allows
97           you to get a full dynamic frequency capable system by simply
98           loading your cpufreq low-level hardware driver.
99           Be aware that not all cpufreq drivers support the conservative
100           governor. If unsure have a look at the help section of the
101           driver. Fallback governor will be the performance governor.
102
103 config CPU_FREQ_DEFAULT_GOV_INTERACTIVE
104         bool "interactive"
105         select CPU_FREQ_GOV_INTERACTIVE
106         help
107           Use the CPUFreq governor 'interactive' as default. This allows
108           you to get a full dynamic cpu frequency capable system by simply
109           loading your cpufreq low-level hardware driver, using the
110           'interactive' governor for latency-sensitive workloads.
111
112 config CPU_FREQ_DEFAULT_GOV_HOTPLUG
113         bool "hotplug"
114         select CPU_FREQ_GOV_HOTPLUG
115         select CPU_FREQ_GOV_PERFORMANCE
116         help
117           Use the CPUFreq governor 'hotplug' as default. This allows you
118           to get a full dynamic frequency capable system with CPU
119           hotplug support by simply loading your cpufreq low-level
120           hardware driver.  Be aware that not all cpufreq drivers
121           support the hotplug governor. If unsure have a look at
122           the help section of the driver. Fallback governor will be the
123           performance governor.
124
125 endchoice
126
127 config CPU_FREQ_GOV_PERFORMANCE
128         tristate "'performance' governor"
129         help
130           This cpufreq governor sets the frequency statically to the
131           highest available CPU frequency.
132
133           To compile this driver as a module, choose M here: the
134           module will be called cpufreq_performance.
135
136           If in doubt, say Y.
137
138 config CPU_FREQ_GOV_POWERSAVE
139         tristate "'powersave' governor"
140         help
141           This cpufreq governor sets the frequency statically to the
142           lowest available CPU frequency.
143
144           To compile this driver as a module, choose M here: the
145           module will be called cpufreq_powersave.
146
147           If in doubt, say Y.
148
149 config CPU_FREQ_GOV_USERSPACE
150         tristate "'userspace' governor for userspace frequency scaling"
151         help
152           Enable this cpufreq governor when you either want to set the
153           CPU frequency manually or when a userspace program shall
154           be able to set the CPU dynamically, like on LART 
155           <http://www.lartmaker.nl/>.
156
157           To compile this driver as a module, choose M here: the
158           module will be called cpufreq_userspace.
159
160           For details, take a look at <file:Documentation/cpu-freq/>.
161
162           If in doubt, say Y.
163
164 config CPU_FREQ_GOV_ONDEMAND
165         tristate "'ondemand' cpufreq policy governor"
166         select CPU_FREQ_TABLE
167         help
168           'ondemand' - This driver adds a dynamic cpufreq policy governor.
169           The governor does a periodic polling and 
170           changes frequency based on the CPU utilization.
171           The support for this governor depends on CPU capability to
172           do fast frequency switching (i.e, very low latency frequency
173           transitions). 
174
175           To compile this driver as a module, choose M here: the
176           module will be called cpufreq_ondemand.
177
178           For details, take a look at linux/Documentation/cpu-freq.
179
180           If in doubt, say N.
181
182 config CPU_FREQ_GOV_INTERACTIVE
183         tristate "'interactive' cpufreq policy governor"
184         help
185           'interactive' - This driver adds a dynamic cpufreq policy governor
186           designed for latency-sensitive workloads.
187
188           This governor attempts to reduce the latency of clock
189           increases so that the system is more responsive to
190           interactive workloads.
191
192           To compile this driver as a module, choose M here: the
193           module will be called cpufreq_interactive.
194
195           For details, take a look at linux/Documentation/cpu-freq.
196
197           If in doubt, say N.
198
199 config CPU_FREQ_GOV_CONSERVATIVE
200         tristate "'conservative' cpufreq governor"
201         depends on CPU_FREQ
202         help
203           'conservative' - this driver is rather similar to the 'ondemand'
204           governor both in its source code and its purpose, the difference is
205           its optimisation for better suitability in a battery powered
206           environment.  The frequency is gracefully increased and decreased
207           rather than jumping to 100% when speed is required.
208
209           If you have a desktop machine then you should really be considering
210           the 'ondemand' governor instead, however if you are using a laptop,
211           PDA or even an AMD64 based computer (due to the unacceptable
212           step-by-step latency issues between the minimum and maximum frequency
213           transitions in the CPU) you will probably want to use this governor.
214
215           To compile this driver as a module, choose M here: the
216           module will be called cpufreq_conservative.
217
218           For details, take a look at linux/Documentation/cpu-freq.
219
220           If in doubt, say N.
221
222 menu "x86 CPU frequency scaling drivers"
223 depends on X86
224 source "drivers/cpufreq/Kconfig.x86"
225 endmenu
226
227 config CPU_FREQ_GOV_HOTPLUG
228         tristate "'hotplug' cpufreq governor"
229         depends on CPU_FREQ && NO_HZ && HOTPLUG_CPU
230         help
231           'hotplug' - this driver mimics the frequency scaling behavior
232           in 'ondemand', but with several key differences.  First is
233           that frequency transitions use the CPUFreq table directly,
234           instead of incrementing in a percentage of the maximum
235           available frequency.  Second 'hotplug' will offline auxillary
236           CPUs when the system is idle, and online those CPUs once the
237           system becomes busy again.  This last feature is needed for
238           architectures which transition to low power states when only
239           the "master" CPU is online, or for thermally constrained
240           devices.
241
242           If you don't have one of these architectures or devices, use
243           'ondemand' instead.
244
245           If in doubt, say N.
246
247 endif
248 endmenu