Linux Audio

Check our new training course

Loading...
v3.1
  1menu "CPU Frequency scaling"
  2
  3config CPU_FREQ
  4	bool "CPU Frequency scaling"
 
  5	help
  6	  CPU Frequency scaling allows you to change the clock speed of 
  7	  CPUs on the fly. This is a nice method to save power, because 
  8	  the lower the CPU clock speed, the less power the CPU consumes.
  9
 10	  Note that this driver doesn't automatically change the CPU
 11	  clock speed, you need to either enable a dynamic cpufreq governor
 12	  (see below) after boot, or use a userspace tool.
 13
 14	  For details, take a look at <file:Documentation/cpu-freq>.
 15
 16	  If in doubt, say N.
 17
 18if CPU_FREQ
 19
 20config CPU_FREQ_TABLE
 21	tristate
 22
 23config CPU_FREQ_STAT
 24	tristate "CPU frequency translation statistics"
 25	select CPU_FREQ_TABLE
 26	default y
 27	help
 28	  This driver exports CPU frequency statistics information through sysfs
 29	  file system.
 30
 31	  To compile this driver as a module, choose M here: the
 32	  module will be called cpufreq_stats.
 33
 34	  If in doubt, say N.
 35
 36config CPU_FREQ_STAT_DETAILS
 37	bool "CPU frequency translation statistics details"
 38	depends on CPU_FREQ_STAT
 39	help
 40	  This will show detail CPU frequency translation table in sysfs file
 41	  system.
 42
 43	  If in doubt, say N.
 44
 45choice
 46	prompt "Default CPUFreq governor"
 47	default CPU_FREQ_DEFAULT_GOV_USERSPACE if CPU_FREQ_SA1100 || CPU_FREQ_SA1110
 48	default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
 49	help
 50	  This option sets which CPUFreq governor shall be loaded at
 51	  startup. If in doubt, select 'performance'.
 52
 53config CPU_FREQ_DEFAULT_GOV_PERFORMANCE
 54	bool "performance"
 55	select CPU_FREQ_GOV_PERFORMANCE
 56	help
 57	  Use the CPUFreq governor 'performance' as default. This sets
 58	  the frequency statically to the highest frequency supported by
 59	  the CPU.
 60
 61config CPU_FREQ_DEFAULT_GOV_POWERSAVE
 62	bool "powersave"
 63	depends on EXPERT
 64	select CPU_FREQ_GOV_POWERSAVE
 65	help
 66	  Use the CPUFreq governor 'powersave' as default. This sets
 67	  the frequency statically to the lowest frequency supported by
 68	  the CPU.
 69
 70config CPU_FREQ_DEFAULT_GOV_USERSPACE
 71	bool "userspace"
 72	select CPU_FREQ_GOV_USERSPACE
 73	help
 74	  Use the CPUFreq governor 'userspace' as default. This allows
 75	  you to set the CPU frequency manually or when a userspace 
 76	  program shall be able to set the CPU dynamically without having
 77	  to enable the userspace governor manually.
 78
 79config CPU_FREQ_DEFAULT_GOV_ONDEMAND
 80	bool "ondemand"
 81	select CPU_FREQ_GOV_ONDEMAND
 82	select CPU_FREQ_GOV_PERFORMANCE
 83	help
 84	  Use the CPUFreq governor 'ondemand' as default. This allows
 85	  you to get a full dynamic frequency capable system by simply
 86	  loading your cpufreq low-level hardware driver.
 87	  Be aware that not all cpufreq drivers support the ondemand
 88	  governor. If unsure have a look at the help section of the
 89	  driver. Fallback governor will be the performance governor.
 90
 91config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
 92	bool "conservative"
 93	select CPU_FREQ_GOV_CONSERVATIVE
 94	select CPU_FREQ_GOV_PERFORMANCE
 95	help
 96	  Use the CPUFreq governor 'conservative' as default. This allows
 97	  you to get a full dynamic frequency capable system by simply
 98	  loading your cpufreq low-level hardware driver.
 99	  Be aware that not all cpufreq drivers support the conservative
100	  governor. If unsure have a look at the help section of the
101	  driver. Fallback governor will be the performance governor.
 
 
 
 
 
 
 
 
 
 
 
102endchoice
103
104config CPU_FREQ_GOV_PERFORMANCE
105	tristate "'performance' governor"
106	help
107	  This cpufreq governor sets the frequency statically to the
108	  highest available CPU frequency.
109
110	  To compile this driver as a module, choose M here: the
111	  module will be called cpufreq_performance.
112
113	  If in doubt, say Y.
114
115config CPU_FREQ_GOV_POWERSAVE
116	tristate "'powersave' governor"
117	help
118	  This cpufreq governor sets the frequency statically to the
119	  lowest available CPU frequency.
120
121	  To compile this driver as a module, choose M here: the
122	  module will be called cpufreq_powersave.
123
124	  If in doubt, say Y.
125
126config CPU_FREQ_GOV_USERSPACE
127	tristate "'userspace' governor for userspace frequency scaling"
128	help
129	  Enable this cpufreq governor when you either want to set the
130	  CPU frequency manually or when a userspace program shall
131	  be able to set the CPU dynamically, like on LART 
132	  <http://www.lartmaker.nl/>.
133
134	  To compile this driver as a module, choose M here: the
135	  module will be called cpufreq_userspace.
136
137	  For details, take a look at <file:Documentation/cpu-freq/>.
138
139	  If in doubt, say Y.
140
141config CPU_FREQ_GOV_ONDEMAND
142	tristate "'ondemand' cpufreq policy governor"
143	select CPU_FREQ_TABLE
144	help
145	  'ondemand' - This driver adds a dynamic cpufreq policy governor.
146	  The governor does a periodic polling and 
147	  changes frequency based on the CPU utilization.
148	  The support for this governor depends on CPU capability to
149	  do fast frequency switching (i.e, very low latency frequency
150	  transitions). 
151
152	  To compile this driver as a module, choose M here: the
153	  module will be called cpufreq_ondemand.
154
155	  For details, take a look at linux/Documentation/cpu-freq.
156
157	  If in doubt, say N.
158
159config CPU_FREQ_GOV_CONSERVATIVE
160	tristate "'conservative' cpufreq governor"
161	depends on CPU_FREQ
 
162	help
163	  'conservative' - this driver is rather similar to the 'ondemand'
164	  governor both in its source code and its purpose, the difference is
165	  its optimisation for better suitability in a battery powered
166	  environment.  The frequency is gracefully increased and decreased
167	  rather than jumping to 100% when speed is required.
168
169	  If you have a desktop machine then you should really be considering
170	  the 'ondemand' governor instead, however if you are using a laptop,
171	  PDA or even an AMD64 based computer (due to the unacceptable
172	  step-by-step latency issues between the minimum and maximum frequency
173	  transitions in the CPU) you will probably want to use this governor.
174
175	  To compile this driver as a module, choose M here: the
176	  module will be called cpufreq_conservative.
177
178	  For details, take a look at linux/Documentation/cpu-freq.
179
180	  If in doubt, say N.
181
182menu "x86 CPU frequency scaling drivers"
183depends on X86
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
184source "drivers/cpufreq/Kconfig.x86"
185endmenu
186
187menu "ARM CPU frequency scaling drivers"
188depends on ARM
189source "drivers/cpufreq/Kconfig.arm"
190endmenu
191
192menu "PowerPC CPU frequency scaling drivers"
193depends on PPC32 || PPC64
194source "drivers/cpufreq/Kconfig.powerpc"
195endmenu
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
196
197endif
198endmenu
v4.17
  1menu "CPU Frequency scaling"
  2
  3config CPU_FREQ
  4	bool "CPU Frequency scaling"
  5	select SRCU
  6	help
  7	  CPU Frequency scaling allows you to change the clock speed of 
  8	  CPUs on the fly. This is a nice method to save power, because 
  9	  the lower the CPU clock speed, the less power the CPU consumes.
 10
 11	  Note that this driver doesn't automatically change the CPU
 12	  clock speed, you need to either enable a dynamic cpufreq governor
 13	  (see below) after boot, or use a userspace tool.
 14
 15	  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_GOV_ATTR_SET
 22	bool
 23
 24config CPU_FREQ_GOV_COMMON
 25	select CPU_FREQ_GOV_ATTR_SET
 26	select IRQ_WORK
 27	bool
 28
 29config CPU_FREQ_BOOST_SW
 30	bool
 31	depends on THERMAL
 
 
 32
 33config CPU_FREQ_STAT
 34	bool "CPU frequency transition statistics"
 
 
 
 35	help
 36	  Export CPU frequency statistics information through sysfs.
 
 37
 38	  If in doubt, say N.
 39
 40choice
 41	prompt "Default CPUFreq governor"
 42	default CPU_FREQ_DEFAULT_GOV_USERSPACE if ARM_SA1100_CPUFREQ || ARM_SA1110_CPUFREQ
 43	default CPU_FREQ_DEFAULT_GOV_PERFORMANCE
 44	help
 45	  This option sets which CPUFreq governor shall be loaded at
 46	  startup. If in doubt, select 'performance'.
 47
 48config CPU_FREQ_DEFAULT_GOV_PERFORMANCE
 49	bool "performance"
 50	select CPU_FREQ_GOV_PERFORMANCE
 51	help
 52	  Use the CPUFreq governor 'performance' as default. This sets
 53	  the frequency statically to the highest frequency supported by
 54	  the CPU.
 55
 56config CPU_FREQ_DEFAULT_GOV_POWERSAVE
 57	bool "powersave"
 
 58	select CPU_FREQ_GOV_POWERSAVE
 59	help
 60	  Use the CPUFreq governor 'powersave' as default. This sets
 61	  the frequency statically to the lowest frequency supported by
 62	  the CPU.
 63
 64config CPU_FREQ_DEFAULT_GOV_USERSPACE
 65	bool "userspace"
 66	select CPU_FREQ_GOV_USERSPACE
 67	help
 68	  Use the CPUFreq governor 'userspace' as default. This allows
 69	  you to set the CPU frequency manually or when a userspace 
 70	  program shall be able to set the CPU dynamically without having
 71	  to enable the userspace governor manually.
 72
 73config CPU_FREQ_DEFAULT_GOV_ONDEMAND
 74	bool "ondemand"
 75	select CPU_FREQ_GOV_ONDEMAND
 76	select CPU_FREQ_GOV_PERFORMANCE
 77	help
 78	  Use the CPUFreq governor 'ondemand' as default. This allows
 79	  you to get a full dynamic frequency capable system by simply
 80	  loading your cpufreq low-level hardware driver.
 81	  Be aware that not all cpufreq drivers support the ondemand
 82	  governor. If unsure have a look at the help section of the
 83	  driver. Fallback governor will be the performance governor.
 84
 85config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE
 86	bool "conservative"
 87	select CPU_FREQ_GOV_CONSERVATIVE
 88	select CPU_FREQ_GOV_PERFORMANCE
 89	help
 90	  Use the CPUFreq governor 'conservative' as default. This allows
 91	  you to get a full dynamic frequency capable system by simply
 92	  loading your cpufreq low-level hardware driver.
 93	  Be aware that not all cpufreq drivers support the conservative
 94	  governor. If unsure have a look at the help section of the
 95	  driver. Fallback governor will be the performance governor.
 96
 97config CPU_FREQ_DEFAULT_GOV_SCHEDUTIL
 98	bool "schedutil"
 99	depends on SMP
100	select CPU_FREQ_GOV_SCHEDUTIL
101	select CPU_FREQ_GOV_PERFORMANCE
102	help
103	  Use the 'schedutil' CPUFreq governor by default. If unsure,
104	  have a look at the help section of that governor. The fallback
105	  governor will be 'performance'.
106
107endchoice
108
109config CPU_FREQ_GOV_PERFORMANCE
110	tristate "'performance' governor"
111	help
112	  This cpufreq governor sets the frequency statically to the
113	  highest available CPU frequency.
114
115	  To compile this driver as a module, choose M here: the
116	  module will be called cpufreq_performance.
117
118	  If in doubt, say Y.
119
120config CPU_FREQ_GOV_POWERSAVE
121	tristate "'powersave' governor"
122	help
123	  This cpufreq governor sets the frequency statically to the
124	  lowest available CPU frequency.
125
126	  To compile this driver as a module, choose M here: the
127	  module will be called cpufreq_powersave.
128
129	  If in doubt, say Y.
130
131config CPU_FREQ_GOV_USERSPACE
132	tristate "'userspace' governor for userspace frequency scaling"
133	help
134	  Enable this cpufreq governor when you either want to set the
135	  CPU frequency manually or when a userspace program shall
136	  be able to set the CPU dynamically, like on LART 
137	  <http://www.lartmaker.nl/>.
138
139	  To compile this driver as a module, choose M here: the
140	  module will be called cpufreq_userspace.
141
142	  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"
148	select CPU_FREQ_GOV_COMMON
149	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
157	  To compile this driver as a module, choose M here: the
158	  module will be called cpufreq_ondemand.
159
160	  For details, take a look at linux/Documentation/cpu-freq.
161
162	  If in doubt, say N.
163
164config CPU_FREQ_GOV_CONSERVATIVE
165	tristate "'conservative' cpufreq governor"
166	depends on CPU_FREQ
167	select CPU_FREQ_GOV_COMMON
168	help
169	  'conservative' - this driver is rather similar to the 'ondemand'
170	  governor both in its source code and its purpose, the difference is
171	  its optimisation for better suitability in a battery powered
172	  environment.  The frequency is gracefully increased and decreased
173	  rather than jumping to 100% when speed is required.
174
175	  If you have a desktop machine then you should really be considering
176	  the 'ondemand' governor instead, however if you are using a laptop,
177	  PDA or even an AMD64 based computer (due to the unacceptable
178	  step-by-step latency issues between the minimum and maximum frequency
179	  transitions in the CPU) you will probably want to use this governor.
180
181	  To compile this driver as a module, choose M here: the
182	  module will be called cpufreq_conservative.
183
184	  For details, take a look at linux/Documentation/cpu-freq.
185
186	  If in doubt, say N.
187
188config CPU_FREQ_GOV_SCHEDUTIL
189	bool "'schedutil' cpufreq policy governor"
190	depends on CPU_FREQ && SMP
191	select CPU_FREQ_GOV_ATTR_SET
192	select IRQ_WORK
193	help
194	  This governor makes decisions based on the utilization data provided
195	  by the scheduler.  It sets the CPU frequency to be proportional to
196	  the utilization/capacity ratio coming from the scheduler.  If the
197	  utilization is frequency-invariant, the new frequency is also
198	  proportional to the maximum available frequency.  If that is not the
199	  case, it is proportional to the current frequency of the CPU.  The
200	  frequency tipping point is at utilization/capacity equal to 80% in
201	  both cases.
202
203	  If in doubt, say N.
204
205comment "CPU frequency scaling drivers"
206
207config CPUFREQ_DT
208	tristate "Generic DT based cpufreq driver"
209	depends on HAVE_CLK && OF
210	# if CPU_THERMAL is on and THERMAL=m, CPUFREQ_DT cannot be =y:
211	depends on !CPU_THERMAL || THERMAL
212	select CPUFREQ_DT_PLATDEV
213	select PM_OPP
214	help
215	  This adds a generic DT based cpufreq driver for frequency management.
216	  It supports both uniprocessor (UP) and symmetric multiprocessor (SMP)
217	  systems.
218
219	  If in doubt, say N.
220
221config CPUFREQ_DT_PLATDEV
222	bool
223	help
224	  This adds a generic DT based cpufreq platdev driver for frequency
225	  management.  This creates a 'cpufreq-dt' platform device, on the
226	  supported platforms.
227
228	  If in doubt, say N.
229
230if X86
231source "drivers/cpufreq/Kconfig.x86"
232endif
233
234if ARM || ARM64
 
235source "drivers/cpufreq/Kconfig.arm"
236endif
237
238if PPC32 || PPC64
 
239source "drivers/cpufreq/Kconfig.powerpc"
240endif
241
242if IA64
243config IA64_ACPI_CPUFREQ
244	tristate "ACPI Processor P-States driver"
245	depends on ACPI_PROCESSOR
246	help
247	This driver adds a CPUFreq driver which utilizes the ACPI
248	Processor Performance States.
249
250	For details, take a look at <file:Documentation/cpu-freq/>.
251
252	If in doubt, say N.
253endif
254
255if MIPS
256config BMIPS_CPUFREQ
257	tristate "BMIPS CPUfreq Driver"
258	help
259	  This option adds a CPUfreq driver for BMIPS processors with
260	  support for configurable CPU frequency.
261
262	  For now, BMIPS5 chips are supported (such as the Broadcom 7425).
263
264	  If in doubt, say N.
265
266config LOONGSON2_CPUFREQ
267	tristate "Loongson2 CPUFreq Driver"
268	depends on LEMOTE_MACH2F
269	help
270	  This option adds a CPUFreq driver for loongson processors which
271	  support software configurable cpu frequency.
272
273	  Loongson2F and it's successors support this feature.
274
275	  For details, take a look at <file:Documentation/cpu-freq/>.
276
277	  If in doubt, say N.
278
279config LOONGSON1_CPUFREQ
280	tristate "Loongson1 CPUFreq Driver"
281	depends on LOONGSON1_LS1B
282	help
283	  This option adds a CPUFreq driver for loongson1 processors which
284	  support software configurable cpu frequency.
285
286	  For details, take a look at <file:Documentation/cpu-freq/>.
287
288	  If in doubt, say N.
289endif
290
291if SPARC64
292config SPARC_US3_CPUFREQ
293	tristate "UltraSPARC-III CPU Frequency driver"
294	help
295	  This adds the CPUFreq driver for UltraSPARC-III processors.
296
297	  For details, take a look at <file:Documentation/cpu-freq>.
298
299	  If in doubt, say N.
300
301config SPARC_US2E_CPUFREQ
302	tristate "UltraSPARC-IIe CPU Frequency driver"
303	help
304	  This adds the CPUFreq driver for UltraSPARC-IIe processors.
305
306	  For details, take a look at <file:Documentation/cpu-freq>.
307
308	  If in doubt, say N.
309endif
310
311if SUPERH
312config SH_CPU_FREQ
313	tristate "SuperH CPU Frequency driver"
314	help
315	  This adds the cpufreq driver for SuperH. Any CPU that supports
316	  clock rate rounding through the clock framework can use this
317	  driver. While it will make the kernel slightly larger, this is
318	  harmless for CPUs that don't support rate rounding. The driver
319	  will also generate a notice in the boot log before disabling
320	  itself if the CPU in question is not capable of rate rounding.
321
322	  For details, take a look at <file:Documentation/cpu-freq>.
323
324	  If unsure, say N.
325endif
326
327config QORIQ_CPUFREQ
328	tristate "CPU frequency scaling driver for Freescale QorIQ SoCs"
329	depends on OF && COMMON_CLK && (PPC_E500MC || ARM || ARM64)
330	depends on !CPU_THERMAL || THERMAL
331	select CLK_QORIQ
332	help
333	  This adds the CPUFreq driver support for Freescale QorIQ SoCs
334	  which are capable of changing the CPU's frequency dynamically.
335
336endif
337endmenu