| @@ -1,41 +1,41 @@ | | | @@ -1,41 +1,41 @@ |
1 | .\" $NetBSD: cpufreq.9,v 1.6 2011/10/27 05:25:08 jruoho Exp $ */ | | 1 | .\" $NetBSD: cpufreq.9,v 1.7 2015/12/01 12:07:41 jmcneill Exp $ */ |
2 | .\" | | 2 | .\" |
3 | .\" Copyright (c) 2011 Jukka Ruohonen <jruohonen.iki.fi> | | 3 | .\" Copyright (c) 2011 Jukka Ruohonen <jruohonen.iki.fi> |
4 | .\" All rights reserved. | | 4 | .\" All rights reserved. |
5 | .\" | | 5 | .\" |
6 | .\" Redistribution and use in source and binary forms, with or without | | 6 | .\" Redistribution and use in source and binary forms, with or without |
7 | .\" modification, are permitted provided that the following conditions | | 7 | .\" modification, are permitted provided that the following conditions |
8 | .\" are met: | | 8 | .\" are met: |
9 | .\" | | 9 | .\" |
10 | .\" 1. Redistributions of source code must retain the above copyright | | 10 | .\" 1. Redistributions of source code must retain the above copyright |
11 | .\" notice, this list of conditions and the following disclaimer. | | 11 | .\" notice, this list of conditions and the following disclaimer. |
12 | .\" 2. Redistributions in binary form must reproduce the above copyright | | 12 | .\" 2. Redistributions in binary form must reproduce the above copyright |
13 | .\" notice, this list of conditions and the following disclaimer in the | | 13 | .\" notice, this list of conditions and the following disclaimer in the |
14 | .\" documentation and/or other materials provided with the distribution. | | 14 | .\" documentation and/or other materials provided with the distribution. |
15 | .\" | | 15 | .\" |
16 | .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS | | 16 | .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS |
17 | .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED | | 17 | .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED |
18 | .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | | 18 | .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
19 | .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS | | 19 | .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS |
20 | .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | | 20 | .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
21 | .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | | 21 | .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
22 | .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | | 22 | .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
23 | .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | | 23 | .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
24 | .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | | 24 | .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
25 | .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | | 25 | .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
26 | .\" POSSIBILITY OF SUCH DAMAGE. | | 26 | .\" POSSIBILITY OF SUCH DAMAGE. |
27 | .\" | | 27 | .\" |
28 | .Dd October 27, 2011 | | 28 | .Dd December 1, 2015 |
29 | .Dt CPUFREQ 9 | | 29 | .Dt CPUFREQ 9 |
30 | .Os | | 30 | .Os |
31 | .Sh NAME | | 31 | .Sh NAME |
32 | .Nm cpufreq , | | 32 | .Nm cpufreq , |
33 | .Nm cpufreq_register , | | 33 | .Nm cpufreq_register , |
34 | .Nm cpufreq_deregister , | | 34 | .Nm cpufreq_deregister , |
35 | .Nm cpufreq_suspend , | | 35 | .Nm cpufreq_suspend , |
36 | .Nm cpufreq_resume , | | 36 | .Nm cpufreq_resume , |
37 | .Nm cpufreq_get , | | 37 | .Nm cpufreq_get , |
38 | .Nm cpufreq_get_backend , | | 38 | .Nm cpufreq_get_backend , |
39 | .Nm cpufreq_get_state , | | 39 | .Nm cpufreq_get_state , |
40 | .Nm cpufreq_get_state_index , | | 40 | .Nm cpufreq_get_state_index , |
41 | .Nm cpufreq_set , | | 41 | .Nm cpufreq_set , |
| @@ -63,28 +63,26 @@ | | | @@ -63,28 +63,26 @@ |
63 | .Fn cpufreq_set "struct cpu_info *ci" "uint32_t freq" | | 63 | .Fn cpufreq_set "struct cpu_info *ci" "uint32_t freq" |
64 | .Ft void | | 64 | .Ft void |
65 | .Fn cpufreq_set_all "uint32_t freq" | | 65 | .Fn cpufreq_set_all "uint32_t freq" |
66 | .\" .Ft void | | 66 | .\" .Ft void |
67 | .\" .Fn cpufreq_set_higher "struct cpu_info *ci" | | 67 | .\" .Fn cpufreq_set_higher "struct cpu_info *ci" |
68 | .\" .Ft void | | 68 | .\" .Ft void |
69 | .\" .Fn cpufreq_set_lower "struct cpu_info *ci" | | 69 | .\" .Fn cpufreq_set_lower "struct cpu_info *ci" |
70 | .Sh DESCRIPTION | | 70 | .Sh DESCRIPTION |
71 | The machine-independent | | 71 | The machine-independent |
72 | .Nm | | 72 | .Nm |
73 | interface provides a framework for | | 73 | interface provides a framework for |
74 | .Tn CPU | | 74 | .Tn CPU |
75 | frequency scaling done by a machine-dependent backend implementation. | | 75 | frequency scaling done by a machine-dependent backend implementation. |
76 | User space control is available via | | | |
77 | .Xr cpuctl 8 . | | | |
78 | .Pp | | 76 | .Pp |
79 | The | | 77 | The |
80 | .Nm | | 78 | .Nm |
81 | interface is a per-CPU framework. | | 79 | interface is a per-CPU framework. |
82 | It is implicitly assumed that the frequency can be set | | 80 | It is implicitly assumed that the frequency can be set |
83 | independently for all processors in the system. | | 81 | independently for all processors in the system. |
84 | However, | | 82 | However, |
85 | .Nm | | 83 | .Nm |
86 | does not imply any restrictions upon whether this information | | 84 | does not imply any restrictions upon whether this information |
87 | is utilized by the actual machine-dependent implementation. | | 85 | is utilized by the actual machine-dependent implementation. |
88 | It is possible to use | | 86 | It is possible to use |
89 | .Nm | | 87 | .Nm |
90 | with frequency scaling implemented via | | 88 | with frequency scaling implemented via |
| @@ -278,27 +276,26 @@ guarantee that the call will be made in | | | @@ -278,27 +276,26 @@ guarantee that the call will be made in |
278 | The interface holds a | | 276 | The interface holds a |
279 | .Xr mutex 9 | | 277 | .Xr mutex 9 |
280 | while calling the functions. | | 278 | while calling the functions. |
281 | This, and the use of | | 279 | This, and the use of |
282 | .Xr xcall 9 , | | 280 | .Xr xcall 9 , |
283 | implies that no memory can be allocated in the backend during the calls. | | 281 | implies that no memory can be allocated in the backend during the calls. |
284 | Nor should the functions be called from interrupt context. | | 282 | Nor should the functions be called from interrupt context. |
285 | .Sh CODE REFERENCES | | 283 | .Sh CODE REFERENCES |
286 | The | | 284 | The |
287 | .Nm | | 285 | .Nm |
288 | interface is implemented within | | 286 | interface is implemented within |
289 | .Pa sys/kern/subr_cpufreq.c . | | 287 | .Pa sys/kern/subr_cpufreq.c . |
290 | .Sh SEE ALSO | | 288 | .Sh SEE ALSO |
291 | .Xr cpuctl 8 , | | | |
292 | .Xr pmf 9 , | | 289 | .Xr pmf 9 , |
293 | .Xr xcall 9 | | 290 | .Xr xcall 9 |
294 | .Rs | | 291 | .Rs |
295 | .%A Venkatesh Pallipadi | | 292 | .%A Venkatesh Pallipadi |
296 | .%A Alexey Starikovskiy | | 293 | .%A Alexey Starikovskiy |
297 | .%T The Ondemand Governor. Past, Present, and Future | | 294 | .%T The Ondemand Governor. Past, Present, and Future |
298 | .%I Intel Open Source Technology Center | | 295 | .%I Intel Open Source Technology Center |
299 | .%O Proceedings of the Linux Symposium | | 296 | .%O Proceedings of the Linux Symposium |
300 | .%D July, 2006 | | 297 | .%D July, 2006 |
301 | .%U http://www.kernel.org/doc/ols/2006/ols2006v2-pages-223-238.pdf | | 298 | .%U http://www.kernel.org/doc/ols/2006/ols2006v2-pages-223-238.pdf |
302 | .Re | | 299 | .Re |
303 | .Sh HISTORY | | 300 | .Sh HISTORY |
304 | The | | 301 | The |