Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pci-2.6
[linux-2.6] / 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           For details, take a look at <file:Documentation/cpu-freq>.
13
14           If in doubt, say N.
15
16 if CPU_FREQ
17
18 config CPU_FREQ_TABLE
19         tristate
20
21 config 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
34 config CPU_FREQ_STAT
35         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.
46
47 config CPU_FREQ_STAT_DETAILS
48         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.
55
56 choice
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
64 config 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
72 config 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
81 config 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
93 config 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.
104 endchoice
105
106 config CPU_FREQ_GOV_PERFORMANCE
107         tristate "'performance' governor"
108         help
109           This cpufreq governor sets the frequency statically to the
110           highest available CPU frequency.
111
112           To compile this driver as a module, choose M here: the
113           module will be called cpufreq_performance.
114
115           If in doubt, say Y.
116
117 config CPU_FREQ_GOV_POWERSAVE
118         tristate "'powersave' governor"
119         help
120           This cpufreq governor sets the frequency statically to the
121           lowest available CPU frequency.
122
123           To compile this driver as a module, choose M here: the
124           module will be called cpufreq_powersave.
125
126           If in doubt, say Y.
127
128 config CPU_FREQ_GOV_USERSPACE
129         tristate "'userspace' governor for userspace frequency scaling"
130         help
131           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 
134           <http://www.lartmaker.nl/>.
135
136           To compile this driver as a module, choose M here: the
137           module will be called cpufreq_userspace.
138
139           For details, take a look at <file:Documentation/cpu-freq/>.
140
141           If in doubt, say Y.
142
143 config CPU_FREQ_GOV_ONDEMAND
144         tristate "'ondemand' cpufreq policy governor"
145         select CPU_FREQ_TABLE
146         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
154           To compile this driver as a module, choose M here: the
155           module will be called cpufreq_ondemand.
156
157           For details, take a look at linux/Documentation/cpu-freq.
158
159           If in doubt, say N.
160
161 config 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
177           To compile this driver as a module, choose M here: the
178           module will be called cpufreq_conservative.
179
180           For details, take a look at linux/Documentation/cpu-freq.
181
182           If in doubt, say N.
183
184 endif   # CPU_FREQ