blob: 721f86f4f0085d3a4caf11c7365ae18643825c84 [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
Mike Frysinger9101be52007-04-18 16:18:13 -040012 To compile this driver as a module, choose M here: the
13 module will be called cpufreq.
14
Linus Torvalds1da177e2005-04-16 15:20:36 -070015 For details, take a look at <file:Documentation/cpu-freq>.
16
17 If in doubt, say N.
18
19if CPU_FREQ
20
21config CPU_FREQ_TABLE
Mike Frysinger9101be52007-04-18 16:18:13 -040022 tristate
Linus Torvalds1da177e2005-04-16 15:20:36 -070023
24config CPU_FREQ_DEBUG
25 bool "Enable CPUfreq debugging"
26 help
27 Say Y here to enable CPUfreq subsystem (including drivers)
28 debugging. You will need to activate it via the kernel
29 command line by passing
30 cpufreq.debug=<value>
31
32 To get <value>, add
33 1 to activate CPUfreq core debugging,
34 2 to activate CPUfreq drivers debugging, and
35 4 to activate CPUfreq governor debugging
36
37config CPU_FREQ_STAT
Mike Frysinger9101be52007-04-18 16:18:13 -040038 tristate "CPU frequency translation statistics"
39 select CPU_FREQ_TABLE
40 default y
41 help
42 This driver exports CPU frequency statistics information through sysfs
43 file system.
44
45 To compile this driver as a module, choose M here: the
46 module will be called cpufreq_stats.
47
48 If in doubt, say N.
Linus Torvalds1da177e2005-04-16 15:20:36 -070049
50config CPU_FREQ_STAT_DETAILS
Mike Frysinger9101be52007-04-18 16:18:13 -040051 bool "CPU frequency translation statistics details"
52 depends on CPU_FREQ_STAT
53 help
54 This will show detail CPU frequency translation table in sysfs file
55 system.
56
57 If in doubt, say N.
Linus Torvalds1da177e2005-04-16 15:20:36 -070058
Linus Torvalds1da177e2005-04-16 15:20:36 -070059choice
60 prompt "Default CPUFreq governor"
61 default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110
62 default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
63 help
64 This option sets which CPUFreq governor shall be loaded at
65 startup. If in doubt, select 'performance'.
66
67config CPU_FREQ_DEFAULT_GOV_PERFORMANCE
68 bool "performance"
69 select CPU_FREQ_GOV_PERFORMANCE
70 help
71 Use the CPUFreq governor 'performance' as default. This sets
72 the frequency statically to the highest frequency supported by
73 the CPU.
74
75config CPU_FREQ_DEFAULT_GOV_USERSPACE
76 bool "userspace"
77 select CPU_FREQ_GOV_USERSPACE
78 help
79 Use the CPUFreq governor 'userspace' as default. This allows
80 you to set the CPU frequency manually or when an userspace
81 program shall be able to set the CPU dynamically without having
82 to enable the userspace governor manually.
83
Thomas Renninger1c256242007-10-02 13:28:12 -070084config CPU_FREQ_DEFAULT_GOV_ONDEMAND
85 bool "ondemand"
86 select CPU_FREQ_GOV_ONDEMAND
87 select CPU_FREQ_GOV_PERFORMANCE
88 help
89 Use the CPUFreq governor 'ondemand' as default. This allows
90 you to get a full dynamic frequency capable system by simply
91 loading your cpufreq low-level hardware driver.
92 Be aware that not all cpufreq drivers support the ondemand
93 governor. If unsure have a look at the help section of the
94 driver. Fallback governor will be the performance governor.
95
96config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
97 bool "conservative"
98 select CPU_FREQ_GOV_CONSERVATIVE
99 select CPU_FREQ_GOV_PERFORMANCE
100 help
101 Use the CPUFreq governor 'conservative' as default. This allows
102 you to get a full dynamic frequency capable system by simply
103 loading your cpufreq low-level hardware driver.
104 Be aware that not all cpufreq drivers support the conservative
105 governor. If unsure have a look at the help section of the
106 driver. Fallback governor will be the performance governor.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700107endchoice
108
109config CPU_FREQ_GOV_PERFORMANCE
Mike Frysinger9101be52007-04-18 16:18:13 -0400110 tristate "'performance' governor"
111 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700112 This cpufreq governor sets the frequency statically to the
113 highest available CPU frequency.
114
Mike Frysinger9101be52007-04-18 16:18:13 -0400115 To compile this driver as a module, choose M here: the
116 module will be called cpufreq_performance.
117
Linus Torvalds1da177e2005-04-16 15:20:36 -0700118 If in doubt, say Y.
119
120config CPU_FREQ_GOV_POWERSAVE
Mike Frysinger9101be52007-04-18 16:18:13 -0400121 tristate "'powersave' governor"
122 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700123 This cpufreq governor sets the frequency statically to the
124 lowest available CPU frequency.
125
Mike Frysinger9101be52007-04-18 16:18:13 -0400126 To compile this driver as a module, choose M here: the
127 module will be called cpufreq_powersave.
128
Linus Torvalds1da177e2005-04-16 15:20:36 -0700129 If in doubt, say Y.
130
131config CPU_FREQ_GOV_USERSPACE
Mike Frysinger9101be52007-04-18 16:18:13 -0400132 tristate "'userspace' governor for userspace frequency scaling"
133 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700134 Enable this cpufreq governor when you either want to set the
135 CPU frequency manually or when an userspace program shall
136 be able to set the CPU dynamically, like on LART
Erik Mouw4c412512006-04-03 14:21:00 +0200137 <http://www.lartmaker.nl/>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700138
Mike Frysinger9101be52007-04-18 16:18:13 -0400139 To compile this driver as a module, choose M here: the
140 module will be called cpufreq_userspace.
141
Linus Torvalds1da177e2005-04-16 15:20:36 -0700142 For details, take a look at <file:Documentation/cpu-freq/>.
143
144 If in doubt, say Y.
145
146config CPU_FREQ_GOV_ONDEMAND
147 tristate "'ondemand' cpufreq policy governor"
Dave Jones6af6e1e2006-11-21 16:58:59 -0500148 select CPU_FREQ_TABLE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700149 help
150 'ondemand' - This driver adds a dynamic cpufreq policy governor.
151 The governor does a periodic polling and
152 changes frequency based on the CPU utilization.
153 The support for this governor depends on CPU capability to
154 do fast frequency switching (i.e, very low latency frequency
155 transitions).
156
Mike Frysinger9101be52007-04-18 16:18:13 -0400157 To compile this driver as a module, choose M here: the
158 module will be called cpufreq_ondemand.
159
Linus Torvalds1da177e2005-04-16 15:20:36 -0700160 For details, take a look at linux/Documentation/cpu-freq.
161
162 If in doubt, say N.
163
Dave Jonesb9170832005-05-31 19:03:47 -0700164config CPU_FREQ_GOV_CONSERVATIVE
165 tristate "'conservative' cpufreq governor"
166 depends on CPU_FREQ
167 help
168 'conservative' - this driver is rather similar to the 'ondemand'
169 governor both in its source code and its purpose, the difference is
170 its optimisation for better suitability in a battery powered
171 environment. The frequency is gracefully increased and decreased
172 rather than jumping to 100% when speed is required.
173
174 If you have a desktop machine then you should really be considering
175 the 'ondemand' governor instead, however if you are using a laptop,
176 PDA or even an AMD64 based computer (due to the unacceptable
177 step-by-step latency issues between the minimum and maximum frequency
178 transitions in the CPU) you will probably want to use this governor.
179
Mike Frysinger9101be52007-04-18 16:18:13 -0400180 To compile this driver as a module, choose M here: the
181 module will be called cpufreq_conservative.
182
Dave Jonesb9170832005-05-31 19:03:47 -0700183 For details, take a look at linux/Documentation/cpu-freq.
184
185 If in doubt, say N.
186
Linus Torvalds1da177e2005-04-16 15:20:36 -0700187endif # CPU_FREQ