blob: 194708850edea435ddb11a8f2ffab412c57f4a6e [file] [log] [blame]
Dave Jonesbb0a56e2011-05-19 18:51:07 -04001menu "CPU Frequency scaling"
2
Linus Torvalds1da177e2005-04-16 15:20:36 -07003config 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
18if CPU_FREQ
19
20config CPU_FREQ_TABLE
Mike Frysinger9101be52007-04-18 16:18:13 -040021 tristate
Linus Torvalds1da177e2005-04-16 15:20:36 -070022
Linus Torvalds1da177e2005-04-16 15:20:36 -070023config CPU_FREQ_STAT
Mike Frysinger9101be52007-04-18 16:18:13 -040024 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.
Linus Torvalds1da177e2005-04-16 15:20:36 -070035
36config CPU_FREQ_STAT_DETAILS
Mike Frysinger9101be52007-04-18 16:18:13 -040037 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.
Linus Torvalds1da177e2005-04-16 15:20:36 -070044
Linus Torvalds1da177e2005-04-16 15:20:36 -070045choice
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
53config 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
Alessandro Guido30d221d2008-04-18 13:31:13 -070061config CPU_FREQ_DEFAULT_GOV_POWERSAVE
62 bool "powersave"
David Rientjes6a108a12011-01-20 14:44:16 -080063 depends on EXPERT
Alessandro Guido30d221d2008-04-18 13:31:13 -070064 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
Linus Torvalds1da177e2005-04-16 15:20:36 -070070config 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
Frederik Schwarzer0211a9c2008-12-29 22:14:56 +010075 you to set the CPU frequency manually or when a userspace
Linus Torvalds1da177e2005-04-16 15:20:36 -070076 program shall be able to set the CPU dynamically without having
77 to enable the userspace governor manually.
78
Thomas Renninger1c256242007-10-02 13:28:12 -070079config 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
91config 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.
Mike Chan1dab2592010-06-22 11:26:45 -0700102
103config 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
Linus Torvalds1da177e2005-04-16 15:20:36 -0700112endchoice
113
114config CPU_FREQ_GOV_PERFORMANCE
Mike Frysinger9101be52007-04-18 16:18:13 -0400115 tristate "'performance' governor"
116 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700117 This cpufreq governor sets the frequency statically to the
118 highest available CPU frequency.
119
Mike Frysinger9101be52007-04-18 16:18:13 -0400120 To compile this driver as a module, choose M here: the
121 module will be called cpufreq_performance.
122
Linus Torvalds1da177e2005-04-16 15:20:36 -0700123 If in doubt, say Y.
124
125config CPU_FREQ_GOV_POWERSAVE
Mike Frysinger9101be52007-04-18 16:18:13 -0400126 tristate "'powersave' governor"
127 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700128 This cpufreq governor sets the frequency statically to the
129 lowest available CPU frequency.
130
Mike Frysinger9101be52007-04-18 16:18:13 -0400131 To compile this driver as a module, choose M here: the
132 module will be called cpufreq_powersave.
133
Linus Torvalds1da177e2005-04-16 15:20:36 -0700134 If in doubt, say Y.
135
136config CPU_FREQ_GOV_USERSPACE
Mike Frysinger9101be52007-04-18 16:18:13 -0400137 tristate "'userspace' governor for userspace frequency scaling"
138 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700139 Enable this cpufreq governor when you either want to set the
Frederik Schwarzer0211a9c2008-12-29 22:14:56 +0100140 CPU frequency manually or when a userspace program shall
Linus Torvalds1da177e2005-04-16 15:20:36 -0700141 be able to set the CPU dynamically, like on LART
Erik Mouw4c412512006-04-03 14:21:00 +0200142 <http://www.lartmaker.nl/>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700143
Mike Frysinger9101be52007-04-18 16:18:13 -0400144 To compile this driver as a module, choose M here: the
145 module will be called cpufreq_userspace.
146
Linus Torvalds1da177e2005-04-16 15:20:36 -0700147 For details, take a look at <file:Documentation/cpu-freq/>.
148
149 If in doubt, say Y.
150
151config CPU_FREQ_GOV_ONDEMAND
152 tristate "'ondemand' cpufreq policy governor"
Dave Jones6af6e1e2006-11-21 16:58:59 -0500153 select CPU_FREQ_TABLE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700154 help
155 'ondemand' - This driver adds a dynamic cpufreq policy governor.
156 The governor does a periodic polling and
157 changes frequency based on the CPU utilization.
158 The support for this governor depends on CPU capability to
159 do fast frequency switching (i.e, very low latency frequency
160 transitions).
161
Mike Frysinger9101be52007-04-18 16:18:13 -0400162 To compile this driver as a module, choose M here: the
163 module will be called cpufreq_ondemand.
164
Linus Torvalds1da177e2005-04-16 15:20:36 -0700165 For details, take a look at linux/Documentation/cpu-freq.
166
167 If in doubt, say N.
168
Mike Chan1dab2592010-06-22 11:26:45 -0700169config CPU_FREQ_GOV_INTERACTIVE
170 tristate "'interactive' cpufreq policy governor"
171 help
172 'interactive' - This driver adds a dynamic cpufreq policy governor
173 designed for latency-sensitive workloads.
174
Allen Martin19ddcae2011-07-01 11:17:39 -0700175 This governor attempts to reduce the latency of clock
176 increases so that the system is more responsive to
177 interactive workloads.
178
179 To compile this driver as a module, choose M here: the
180 module will be called cpufreq_interactive.
181
182 For details, take a look at linux/Documentation/cpu-freq.
183
184 If in doubt, say N.
185
Dave Jonesb9170832005-05-31 19:03:47 -0700186config CPU_FREQ_GOV_CONSERVATIVE
187 tristate "'conservative' cpufreq governor"
188 depends on CPU_FREQ
189 help
190 'conservative' - this driver is rather similar to the 'ondemand'
191 governor both in its source code and its purpose, the difference is
192 its optimisation for better suitability in a battery powered
193 environment. The frequency is gracefully increased and decreased
194 rather than jumping to 100% when speed is required.
195
196 If you have a desktop machine then you should really be considering
197 the 'ondemand' governor instead, however if you are using a laptop,
198 PDA or even an AMD64 based computer (due to the unacceptable
199 step-by-step latency issues between the minimum and maximum frequency
200 transitions in the CPU) you will probably want to use this governor.
201
Mike Frysinger9101be52007-04-18 16:18:13 -0400202 To compile this driver as a module, choose M here: the
203 module will be called cpufreq_conservative.
204
Dave Jonesb9170832005-05-31 19:03:47 -0700205 For details, take a look at linux/Documentation/cpu-freq.
206
207 If in doubt, say N.
208
Dave Jonesbb0a56e2011-05-19 18:51:07 -0400209menu "x86 CPU frequency scaling drivers"
210depends on X86
211source "drivers/cpufreq/Kconfig.x86"
212endmenu
213
214endif
215endmenu