Commit | Line | Data |
---|---|---|
a3c98b8b MH |
1 | config ARCH_HAS_DEVFREQ |
2 | bool | |
3 | depends on ARCH_HAS_OPP | |
4 | help | |
5 | Denotes that the architecture supports DEVFREQ. If the architecture | |
6 | supports multiple OPP entries per device and the frequency of the | |
7 | devices with OPPs may be altered dynamically, the architecture | |
8 | supports DEVFREQ. | |
9 | ||
10 | menuconfig PM_DEVFREQ | |
11 | bool "Generic Dynamic Voltage and Frequency Scaling (DVFS) support" | |
12 | depends on PM_OPP && ARCH_HAS_DEVFREQ | |
13 | help | |
14 | With OPP support, a device may have a list of frequencies and | |
15 | voltages available. DEVFREQ, a generic DVFS framework can be | |
16 | registered for a device with OPP support in order to let the | |
17 | governor provided to DEVFREQ choose an operating frequency | |
18 | based on the OPP's list and the policy given with DEVFREQ. | |
19 | ||
20 | Each device may have its own governor and policy. DEVFREQ can | |
21 | reevaluate the device state periodically and/or based on the | |
22 | OPP list changes (each frequency/voltage pair in OPP may be | |
23 | disabled or enabled). | |
24 | ||
25 | Like some CPUs with CPUFREQ, a device may have multiple clocks. | |
26 | However, because the clock frequencies of a single device are | |
27 | determined by the single device's state, an instance of DEVFREQ | |
28 | is attached to a single device and returns a "representative" | |
29 | clock frequency from the OPP of the device, which is also attached | |
30 | to a device by 1-to-1. The device registering DEVFREQ takes the | |
31 | responsiblity to "interpret" the frequency listed in OPP and | |
32 | to set its every clock accordingly with the "target" callback | |
33 | given to DEVFREQ. | |
34 | ||
35 | if PM_DEVFREQ | |
36 | ||
ce26c5bb MH |
37 | comment "DEVFREQ Governors" |
38 | ||
39 | config DEVFREQ_GOV_SIMPLE_ONDEMAND | |
40 | bool "Simple Ondemand" | |
41 | help | |
42 | Chooses frequency based on the recent load on the device. Works | |
43 | similar as ONDEMAND governor of CPUFREQ does. A device with | |
44 | Simple-Ondemand should be able to provide busy/total counter | |
45 | values that imply the usage rate. A device may provide tuned | |
46 | values to the governor with data field at devfreq_add_device(). | |
47 | ||
48 | config DEVFREQ_GOV_PERFORMANCE | |
49 | bool "Performance" | |
50 | help | |
51 | Sets the frequency at the maximum available frequency. | |
52 | This governor always returns UINT_MAX as frequency so that | |
53 | the DEVFREQ framework returns the highest frequency available | |
54 | at any time. | |
55 | ||
56 | config DEVFREQ_GOV_POWERSAVE | |
57 | bool "Powersave" | |
58 | help | |
59 | Sets the frequency at the minimum available frequency. | |
60 | This governor always returns 0 as frequency so that | |
61 | the DEVFREQ framework returns the lowest frequency available | |
62 | at any time. | |
63 | ||
64 | config DEVFREQ_GOV_USERSPACE | |
65 | bool "Userspace" | |
66 | help | |
67 | Sets the frequency at the user specified one. | |
68 | This governor returns the user configured frequency if there | |
69 | has been an input to /sys/devices/.../power/devfreq_set_freq. | |
70 | Otherwise, the governor does not change the frequnecy | |
71 | given at the initialization. | |
72 | ||
a3c98b8b MH |
73 | comment "DEVFREQ Drivers" |
74 | ||
75 | endif # PM_DEVFREQ |