blob: c159ae64eeb2cf791d8aa36036e0480b8d3cf487 [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
72config CPU_FREQ_DEFAULT_GOV_USERSPACE
73 bool "userspace"
74 select CPU_FREQ_GOV_USERSPACE
75 help
76 Use the CPUFreq governor 'userspace' as default. This allows
77 you to set the CPU frequency manually or when an userspace
78 program shall be able to set the CPU dynamically without having
79 to enable the userspace governor manually.
80
Thomas Renninger1c256242007-10-02 13:28:12 -070081config CPU_FREQ_DEFAULT_GOV_ONDEMAND
82 bool "ondemand"
83 select CPU_FREQ_GOV_ONDEMAND
84 select CPU_FREQ_GOV_PERFORMANCE
85 help
86 Use the CPUFreq governor 'ondemand' as default. This allows
87 you to get a full dynamic frequency capable system by simply
88 loading your cpufreq low-level hardware driver.
89 Be aware that not all cpufreq drivers support the ondemand
90 governor. If unsure have a look at the help section of the
91 driver. Fallback governor will be the performance governor.
92
93config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
94 bool "conservative"
95 select CPU_FREQ_GOV_CONSERVATIVE
96 select CPU_FREQ_GOV_PERFORMANCE
97 help
98 Use the CPUFreq governor 'conservative' as default. This allows
99 you to get a full dynamic frequency capable system by simply
100 loading your cpufreq low-level hardware driver.
101 Be aware that not all cpufreq drivers support the conservative
102 governor. If unsure have a look at the help section of the
103 driver. Fallback governor will be the performance governor.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700104endchoice
105
106config CPU_FREQ_GOV_PERFORMANCE
Mike Frysinger9101be52007-04-18 16:18:13 -0400107 tristate "'performance' governor"
108 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700109 This cpufreq governor sets the frequency statically to the
110 highest available CPU frequency.
111
Mike Frysinger9101be52007-04-18 16:18:13 -0400112 To compile this driver as a module, choose M here: the
113 module will be called cpufreq_performance.
114
Linus Torvalds1da177e2005-04-16 15:20:36 -0700115 If in doubt, say Y.
116
117config CPU_FREQ_GOV_POWERSAVE
Mike Frysinger9101be52007-04-18 16:18:13 -0400118 tristate "'powersave' governor"
119 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700120 This cpufreq governor sets the frequency statically to the
121 lowest available CPU frequency.
122
Mike Frysinger9101be52007-04-18 16:18:13 -0400123 To compile this driver as a module, choose M here: the
124 module will be called cpufreq_powersave.
125
Linus Torvalds1da177e2005-04-16 15:20:36 -0700126 If in doubt, say Y.
127
128config CPU_FREQ_GOV_USERSPACE
Mike Frysinger9101be52007-04-18 16:18:13 -0400129 tristate "'userspace' governor for userspace frequency scaling"
130 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700131 Enable this cpufreq governor when you either want to set the
132 CPU frequency manually or when an userspace program shall
133 be able to set the CPU dynamically, like on LART
Erik Mouw4c412512006-04-03 14:21:00 +0200134 <http://www.lartmaker.nl/>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700135
Mike Frysinger9101be52007-04-18 16:18:13 -0400136 To compile this driver as a module, choose M here: the
137 module will be called cpufreq_userspace.
138
Linus Torvalds1da177e2005-04-16 15:20:36 -0700139 For details, take a look at <file:Documentation/cpu-freq/>.
140
141 If in doubt, say Y.
142
143config CPU_FREQ_GOV_ONDEMAND
144 tristate "'ondemand' cpufreq policy governor"
Dave Jones6af6e1e2006-11-21 16:58:59 -0500145 select CPU_FREQ_TABLE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700146 help
147 'ondemand' - This driver adds a dynamic cpufreq policy governor.
148 The governor does a periodic polling and
149 changes frequency based on the CPU utilization.
150 The support for this governor depends on CPU capability to
151 do fast frequency switching (i.e, very low latency frequency
152 transitions).
153
Mike Frysinger9101be52007-04-18 16:18:13 -0400154 To compile this driver as a module, choose M here: the
155 module will be called cpufreq_ondemand.
156
Linus Torvalds1da177e2005-04-16 15:20:36 -0700157 For details, take a look at linux/Documentation/cpu-freq.
158
159 If in doubt, say N.
160
Dave Jonesb9170832005-05-31 19:03:47 -0700161config CPU_FREQ_GOV_CONSERVATIVE
162 tristate "'conservative' cpufreq governor"
163 depends on CPU_FREQ
164 help
165 'conservative' - this driver is rather similar to the 'ondemand'
166 governor both in its source code and its purpose, the difference is
167 its optimisation for better suitability in a battery powered
168 environment. The frequency is gracefully increased and decreased
169 rather than jumping to 100% when speed is required.
170
171 If you have a desktop machine then you should really be considering
172 the 'ondemand' governor instead, however if you are using a laptop,
173 PDA or even an AMD64 based computer (due to the unacceptable
174 step-by-step latency issues between the minimum and maximum frequency
175 transitions in the CPU) you will probably want to use this governor.
176
Mike Frysinger9101be52007-04-18 16:18:13 -0400177 To compile this driver as a module, choose M here: the
178 module will be called cpufreq_conservative.
179
Dave Jonesb9170832005-05-31 19:03:47 -0700180 For details, take a look at linux/Documentation/cpu-freq.
181
182 If in doubt, say N.
183
Linus Torvalds1da177e2005-04-16 15:20:36 -0700184endif # CPU_FREQ