Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
[pandora-kernel.git] / drivers / cpufreq / Kconfig
1 config 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           To compile this driver as a module, choose M here: the
13           module will be called cpufreq.
14
15           For details, take a look at <file:Documentation/cpu-freq>.
16
17           If in doubt, say N.
18
19 if CPU_FREQ
20
21 config CPU_FREQ_TABLE
22         tristate
23
24 config 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
37 config CPU_FREQ_STAT
38         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.
49
50 config CPU_FREQ_STAT_DETAILS
51         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.
58
59 # 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
63 choice
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
71 config 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
79 config 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
88 endchoice
89
90 config CPU_FREQ_GOV_PERFORMANCE
91         tristate "'performance' governor"
92         help
93           This cpufreq governor sets the frequency statically to the
94           highest available CPU frequency.
95
96           To compile this driver as a module, choose M here: the
97           module will be called cpufreq_performance.
98
99           If in doubt, say Y.
100
101 config CPU_FREQ_GOV_POWERSAVE
102         tristate "'powersave' governor"
103         help
104           This cpufreq governor sets the frequency statically to the
105           lowest available CPU frequency.
106
107           To compile this driver as a module, choose M here: the
108           module will be called cpufreq_powersave.
109
110           If in doubt, say Y.
111
112 config CPU_FREQ_GOV_USERSPACE
113         tristate "'userspace' governor for userspace frequency scaling"
114         help
115           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 
118           <http://www.lartmaker.nl/>.
119
120           To compile this driver as a module, choose M here: the
121           module will be called cpufreq_userspace.
122
123           For details, take a look at <file:Documentation/cpu-freq/>.
124
125           If in doubt, say Y.
126
127 config CPU_FREQ_GOV_ONDEMAND
128         tristate "'ondemand' cpufreq policy governor"
129         select CPU_FREQ_TABLE
130         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
138           To compile this driver as a module, choose M here: the
139           module will be called cpufreq_ondemand.
140
141           For details, take a look at linux/Documentation/cpu-freq.
142
143           If in doubt, say N.
144
145 config 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
161           To compile this driver as a module, choose M here: the
162           module will be called cpufreq_conservative.
163
164           For details, take a look at linux/Documentation/cpu-freq.
165
166           If in doubt, say N.
167
168 endif   # CPU_FREQ