blob: 993fa7b89253404adbd4cba3eb900dfdcd8f2393 [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
Dave Jones33100102005-05-31 19:03:44 -070059# Note that it is not currently possible to set the other governors (such as ondemand)
60# as the default, since if they fail to initialise, cpufreq will be
61# left in an undefined state.
62
Linus Torvalds1da177e2005-04-16 15:20:36 -070063choice
64 prompt "Default CPUFreq governor"
65 default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110
66 default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
67 help
68 This option sets which CPUFreq governor shall be loaded at
69 startup. If in doubt, select 'performance'.
70
71config CPU_FREQ_DEFAULT_GOV_PERFORMANCE
72 bool "performance"
73 select CPU_FREQ_GOV_PERFORMANCE
74 help
75 Use the CPUFreq governor 'performance' as default. This sets
76 the frequency statically to the highest frequency supported by
77 the CPU.
78
79config CPU_FREQ_DEFAULT_GOV_USERSPACE
80 bool "userspace"
81 select CPU_FREQ_GOV_USERSPACE
82 help
83 Use the CPUFreq governor 'userspace' as default. This allows
84 you to set the CPU frequency manually or when an userspace
85 program shall be able to set the CPU dynamically without having
86 to enable the userspace governor manually.
87
88endchoice
89
90config CPU_FREQ_GOV_PERFORMANCE
Mike Frysinger9101be52007-04-18 16:18:13 -040091 tristate "'performance' governor"
92 help
Linus Torvalds1da177e2005-04-16 15:20:36 -070093 This cpufreq governor sets the frequency statically to the
94 highest available CPU frequency.
95
Mike Frysinger9101be52007-04-18 16:18:13 -040096 To compile this driver as a module, choose M here: the
97 module will be called cpufreq_performance.
98
Linus Torvalds1da177e2005-04-16 15:20:36 -070099 If in doubt, say Y.
100
101config CPU_FREQ_GOV_POWERSAVE
Mike Frysinger9101be52007-04-18 16:18:13 -0400102 tristate "'powersave' governor"
103 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700104 This cpufreq governor sets the frequency statically to the
105 lowest available CPU frequency.
106
Mike Frysinger9101be52007-04-18 16:18:13 -0400107 To compile this driver as a module, choose M here: the
108 module will be called cpufreq_powersave.
109
Linus Torvalds1da177e2005-04-16 15:20:36 -0700110 If in doubt, say Y.
111
112config CPU_FREQ_GOV_USERSPACE
Mike Frysinger9101be52007-04-18 16:18:13 -0400113 tristate "'userspace' governor for userspace frequency scaling"
114 help
Linus Torvalds1da177e2005-04-16 15:20:36 -0700115 Enable this cpufreq governor when you either want to set the
116 CPU frequency manually or when an userspace program shall
117 be able to set the CPU dynamically, like on LART
Erik Mouw4c412512006-04-03 14:21:00 +0200118 <http://www.lartmaker.nl/>.
Linus Torvalds1da177e2005-04-16 15:20:36 -0700119
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_userspace.
122
Linus Torvalds1da177e2005-04-16 15:20:36 -0700123 For details, take a look at <file:Documentation/cpu-freq/>.
124
125 If in doubt, say Y.
126
127config CPU_FREQ_GOV_ONDEMAND
128 tristate "'ondemand' cpufreq policy governor"
Dave Jones6af6e1e2006-11-21 16:58:59 -0500129 select CPU_FREQ_TABLE
Linus Torvalds1da177e2005-04-16 15:20:36 -0700130 help
131 'ondemand' - This driver adds a dynamic cpufreq policy governor.
132 The governor does a periodic polling and
133 changes frequency based on the CPU utilization.
134 The support for this governor depends on CPU capability to
135 do fast frequency switching (i.e, very low latency frequency
136 transitions).
137
Mike Frysinger9101be52007-04-18 16:18:13 -0400138 To compile this driver as a module, choose M here: the
139 module will be called cpufreq_ondemand.
140
Linus Torvalds1da177e2005-04-16 15:20:36 -0700141 For details, take a look at linux/Documentation/cpu-freq.
142
143 If in doubt, say N.
144
Dave Jonesb9170832005-05-31 19:03:47 -0700145config CPU_FREQ_GOV_CONSERVATIVE
146 tristate "'conservative' cpufreq governor"
147 depends on CPU_FREQ
148 help
149 'conservative' - this driver is rather similar to the 'ondemand'
150 governor both in its source code and its purpose, the difference is
151 its optimisation for better suitability in a battery powered
152 environment. The frequency is gracefully increased and decreased
153 rather than jumping to 100% when speed is required.
154
155 If you have a desktop machine then you should really be considering
156 the 'ondemand' governor instead, however if you are using a laptop,
157 PDA or even an AMD64 based computer (due to the unacceptable
158 step-by-step latency issues between the minimum and maximum frequency
159 transitions in the CPU) you will probably want to use this governor.
160
Mike Frysinger9101be52007-04-18 16:18:13 -0400161 To compile this driver as a module, choose M here: the
162 module will be called cpufreq_conservative.
163
Dave Jonesb9170832005-05-31 19:03:47 -0700164 For details, take a look at linux/Documentation/cpu-freq.
165
166 If in doubt, say N.
167
Linus Torvalds1da177e2005-04-16 15:20:36 -0700168endif # CPU_FREQ