blob: a8c8d9c19d740d4686e312be1ebbf1f4b15967e3 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001config CPU_FREQ
2 bool "CPU Frequency scaling"
3 help
4 CPU Frequency scaling allows you to change the clock speed of
5 CPUs on the fly. This is a nice method to save power, because
6 the lower the CPU clock speed, the less power the CPU consumes.
7
8 Note that this driver doesn't automatically change the CPU
9 clock speed, you need to either enable a dynamic cpufreq governor
10 (see below) after boot, or use a userspace tool.
11
12 For details, take a look at <file:Documentation/cpu-freq>.
13
14 If in doubt, say N.
15
16if CPU_FREQ
17
18config CPU_FREQ_TABLE
Mike Frysinger9101be52007-04-18 16:18:13 -040019 tristate
Linus Torvalds1da177e2005-04-16 15:20:36 -070020
21config CPU_FREQ_DEBUG
22 bool "Enable CPUfreq debugging"
23 help
24 Say Y here to enable CPUfreq subsystem (including drivers)
25 debugging. You will need to activate it via the kernel
26 command line by passing
27 cpufreq.debug=<value>
28
29 To get <value>, add
30 1 to activate CPUfreq core debugging,
31 2 to activate CPUfreq drivers debugging, and
32 4 to activate CPUfreq governor debugging
33
34config CPU_FREQ_STAT
Mike Frysinger9101be52007-04-18 16:18:13 -040035 tristate "CPU frequency translation statistics"
36 select CPU_FREQ_TABLE
37 default y
38 help
39 This driver exports CPU frequency statistics information through sysfs
40 file system.
41
42 To compile this driver as a module, choose M here: the
43 module will be called cpufreq_stats.
44
45 If in doubt, say N.
Linus Torvalds1da177e2005-04-16 15:20:36 -070046
47config CPU_FREQ_STAT_DETAILS
Mike Frysinger9101be52007-04-18 16:18:13 -040048 bool "CPU frequency translation statistics details"
49 depends on CPU_FREQ_STAT
50 help
51 This will show detail CPU frequency translation table in sysfs file
52 system.
53
54 If in doubt, say N.
Linus Torvalds1da177e2005-04-16 15:20:36 -070055
Linus Torvalds1da177e2005-04-16 15:20:36 -070056choice
57 prompt "Default CPUFreq governor"
58 default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110
59 default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
60 help
61 This option sets which CPUFreq governor shall be loaded at
62 startup. If in doubt, select 'performance'.
63
64config CPU_FREQ_DEFAULT_GOV_PERFORMANCE
65 bool "performance"
66 select CPU_FREQ_GOV_PERFORMANCE
67 help
68 Use the CPUFreq governor 'performance' as default. This sets
69 the frequency statically to the highest frequency supported by
70 the CPU.
71
Alessandro Guido30d221d2008-04-18 13:31:13 -070072config CPU_FREQ_DEFAULT_GOV_POWERSAVE
73 bool "powersave"
74 depends on EMBEDDED
75 select CPU_FREQ_GOV_POWERSAVE
76 help
77 Use the CPUFreq governor 'powersave' as default. This sets
78 the frequency statically to the lowest frequency supported by
79 the CPU.
80
Linus Torvalds1da177e2005-04-16 15:20:36 -070081config CPU_FREQ_DEFAULT_GOV_USERSPACE
82 bool "userspace"
83 select CPU_FREQ_GOV_USERSPACE
84 help
85 Use the CPUFreq governor 'userspace' as default. This allows
Frederik Schwarzer0211a9c2008-12-29 22:14:56 +010086 you to set the CPU frequency manually or when a userspace
Linus Torvalds1da177e2005-04-16 15:20:36 -070087 program shall be able to set the CPU dynamically without having
88 to enable the userspace governor manually.
89
Thomas Renninger1c256242007-10-02 13:28:12 -070090config CPU_FREQ_DEFAULT_GOV_ONDEMAND
91 bool "ondemand"
92 select CPU_FREQ_GOV_ONDEMAND
93 select CPU_FREQ_GOV_PERFORMANCE
94 help
95 Use the CPUFreq governor 'ondemand' as default. This allows
96 you to get a full dynamic frequency capable system by simply
97 loading your cpufreq low-level hardware driver.
98 Be aware that not all cpufreq drivers support the ondemand
99 governor. If unsure have a look at the help section of the
100 driver. Fallback governor will be the performance governor.
101
102config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
103 bool "conservative"
104 select CPU_FREQ_GOV_CONSERVATIVE
105 select CPU_FREQ_GOV_PERFORMANCE
106 help
107 Use the CPUFreq governor 'conservative' as default. This allows
108 you to get a full dynamic frequency capable system by simply
109 loading your cpufreq low-level hardware driver.
110 Be aware that not all cpufreq drivers support the conservative
111 governor. If unsure have a look at the help section of the
112 driver. Fallback governor will be the performance governor.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700113endchoice
114
115config CPU_FREQ_GOV_PERFORMANCE
Mike Frysinger9101be52007-04-18 16:18:13 -0400116 tristate "'performance' governor"
117 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700118 This cpufreq governor sets the frequency statically to the
119 highest available CPU frequency.
120
Mike Frysinger9101be52007-04-18 16:18:13 -0400121 To compile this driver as a module, choose M here: the
122 module will be called cpufreq_performance.
123
Linus Torvalds1da177e2005-04-16 15:20:36 -0700124 If in doubt, say Y.
125
126config CPU_FREQ_GOV_POWERSAVE
Mike Frysinger9101be52007-04-18 16:18:13 -0400127 tristate "'powersave' governor"
128 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700129 This cpufreq governor sets the frequency statically to the
130 lowest available CPU frequency.
131
Mike Frysinger9101be52007-04-18 16:18:13 -0400132 To compile this driver as a module, choose M here: the
133 module will be called cpufreq_powersave.
134
Linus Torvalds1da177e2005-04-16 15:20:36 -0700135 If in doubt, say Y.
136
137config CPU_FREQ_GOV_USERSPACE
Mike Frysinger9101be52007-04-18 16:18:13 -0400138 tristate "'userspace' governor for userspace frequency scaling"
139 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700140 Enable this cpufreq governor when you either want to set the
Frederik Schwarzer0211a9c2008-12-29 22:14:56 +0100141 CPU frequency manually or when a userspace program shall
Linus Torvalds1da177e2005-04-16 15:20:36 -0700142 be able to set the CPU dynamically, like on LART
Erik Mouw4c412512006-04-03 14:21:00 +0200143 <http://www.lartmaker.nl/>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700144
Mike Frysinger9101be52007-04-18 16:18:13 -0400145 To compile this driver as a module, choose M here: the
146 module will be called cpufreq_userspace.
147
Linus Torvalds1da177e2005-04-16 15:20:36 -0700148 For details, take a look at <file:Documentation/cpu-freq/>.
149
150 If in doubt, say Y.
151
152config CPU_FREQ_GOV_ONDEMAND
153 tristate "'ondemand' cpufreq policy governor"
Dave Jones6af6e1e2006-11-21 16:58:59 -0500154 select CPU_FREQ_TABLE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700155 help
156 'ondemand' - This driver adds a dynamic cpufreq policy governor.
157 The governor does a periodic polling and
158 changes frequency based on the CPU utilization.
159 The support for this governor depends on CPU capability to
160 do fast frequency switching (i.e, very low latency frequency
161 transitions).
162
Mike Frysinger9101be52007-04-18 16:18:13 -0400163 To compile this driver as a module, choose M here: the
164 module will be called cpufreq_ondemand.
165
Linus Torvalds1da177e2005-04-16 15:20:36 -0700166 For details, take a look at linux/Documentation/cpu-freq.
167
168 If in doubt, say N.
169
Dave Jonesb9170832005-05-31 19:03:47 -0700170config CPU_FREQ_GOV_CONSERVATIVE
171 tristate "'conservative' cpufreq governor"
172 depends on CPU_FREQ
173 help
174 'conservative' - this driver is rather similar to the 'ondemand'
175 governor both in its source code and its purpose, the difference is
176 its optimisation for better suitability in a battery powered
177 environment. The frequency is gracefully increased and decreased
178 rather than jumping to 100% when speed is required.
179
180 If you have a desktop machine then you should really be considering
181 the 'ondemand' governor instead, however if you are using a laptop,
182 PDA or even an AMD64 based computer (due to the unacceptable
183 step-by-step latency issues between the minimum and maximum frequency
184 transitions in the CPU) you will probably want to use this governor.
185
Mike Frysinger9101be52007-04-18 16:18:13 -0400186 To compile this driver as a module, choose M here: the
187 module will be called cpufreq_conservative.
188
Dave Jonesb9170832005-05-31 19:03:47 -0700189 For details, take a look at linux/Documentation/cpu-freq.
190
191 If in doubt, say N.
192
Linus Torvalds1da177e2005-04-16 15:20:36 -0700193endif # CPU_FREQ