1a3c98b8bSMyungJoo Hammenuconfig PM_DEVFREQ 2a3c98b8bSMyungJoo Ham bool "Generic Dynamic Voltage and Frequency Scaling (DVFS) support" 3a3c98b8bSMyungJoo Ham help 46c81f905SMyungJoo Ham A device may have a list of frequencies and voltages available. 56c81f905SMyungJoo Ham devfreq, a generic DVFS framework can be registered for a device 66c81f905SMyungJoo Ham in order to let the governor provided to devfreq choose an 76c81f905SMyungJoo Ham operating frequency based on the device driver's policy. 8a3c98b8bSMyungJoo Ham 96c81f905SMyungJoo Ham Each device may have its own governor and policy. Devfreq can 10a3c98b8bSMyungJoo Ham reevaluate the device state periodically and/or based on the 116c81f905SMyungJoo Ham notification to "nb", a notifier block, of devfreq. 12a3c98b8bSMyungJoo Ham 136c81f905SMyungJoo Ham Like some CPUs with CPUfreq, a device may have multiple clocks. 14a3c98b8bSMyungJoo Ham However, because the clock frequencies of a single device are 156c81f905SMyungJoo Ham determined by the single device's state, an instance of devfreq 16a3c98b8bSMyungJoo Ham is attached to a single device and returns a "representative" 176c81f905SMyungJoo Ham clock frequency of the device, which is also attached 186c81f905SMyungJoo Ham to a device by 1-to-1. The device registering devfreq takes the 196c81f905SMyungJoo Ham responsiblity to "interpret" the representative frequency and 20a3c98b8bSMyungJoo Ham to set its every clock accordingly with the "target" callback 216c81f905SMyungJoo Ham given to devfreq. 226c81f905SMyungJoo Ham 236c81f905SMyungJoo Ham When OPP is used with the devfreq device, it is recommended to 246c81f905SMyungJoo Ham register devfreq's nb to the OPP's notifier head. If OPP is 256c81f905SMyungJoo Ham used with the devfreq device, you may use OPP helper 266c81f905SMyungJoo Ham functions defined in devfreq.h. 27a3c98b8bSMyungJoo Ham 28a3c98b8bSMyungJoo Hamif PM_DEVFREQ 29a3c98b8bSMyungJoo Ham 30ce26c5bbSMyungJoo Hamcomment "DEVFREQ Governors" 31ce26c5bbSMyungJoo Ham 32ce26c5bbSMyungJoo Hamconfig DEVFREQ_GOV_SIMPLE_ONDEMAND 33ce26c5bbSMyungJoo Ham bool "Simple Ondemand" 34ce26c5bbSMyungJoo Ham help 35ce26c5bbSMyungJoo Ham Chooses frequency based on the recent load on the device. Works 36ce26c5bbSMyungJoo Ham similar as ONDEMAND governor of CPUFREQ does. A device with 37ce26c5bbSMyungJoo Ham Simple-Ondemand should be able to provide busy/total counter 38ce26c5bbSMyungJoo Ham values that imply the usage rate. A device may provide tuned 39ce26c5bbSMyungJoo Ham values to the governor with data field at devfreq_add_device(). 40ce26c5bbSMyungJoo Ham 41ce26c5bbSMyungJoo Hamconfig DEVFREQ_GOV_PERFORMANCE 42ce26c5bbSMyungJoo Ham bool "Performance" 43ce26c5bbSMyungJoo Ham help 44ce26c5bbSMyungJoo Ham Sets the frequency at the maximum available frequency. 45ce26c5bbSMyungJoo Ham This governor always returns UINT_MAX as frequency so that 46ce26c5bbSMyungJoo Ham the DEVFREQ framework returns the highest frequency available 47ce26c5bbSMyungJoo Ham at any time. 48ce26c5bbSMyungJoo Ham 49ce26c5bbSMyungJoo Hamconfig DEVFREQ_GOV_POWERSAVE 50ce26c5bbSMyungJoo Ham bool "Powersave" 51ce26c5bbSMyungJoo Ham help 52ce26c5bbSMyungJoo Ham Sets the frequency at the minimum available frequency. 53ce26c5bbSMyungJoo Ham This governor always returns 0 as frequency so that 54ce26c5bbSMyungJoo Ham the DEVFREQ framework returns the lowest frequency available 55ce26c5bbSMyungJoo Ham at any time. 56ce26c5bbSMyungJoo Ham 57ce26c5bbSMyungJoo Hamconfig DEVFREQ_GOV_USERSPACE 58ce26c5bbSMyungJoo Ham bool "Userspace" 59ce26c5bbSMyungJoo Ham help 60ce26c5bbSMyungJoo Ham Sets the frequency at the user specified one. 61ce26c5bbSMyungJoo Ham This governor returns the user configured frequency if there 62ce26c5bbSMyungJoo Ham has been an input to /sys/devices/.../power/devfreq_set_freq. 63ce26c5bbSMyungJoo Ham Otherwise, the governor does not change the frequnecy 64ce26c5bbSMyungJoo Ham given at the initialization. 65ce26c5bbSMyungJoo Ham 66a3c98b8bSMyungJoo Hamcomment "DEVFREQ Drivers" 67a3c98b8bSMyungJoo Ham 68a3c98b8bSMyungJoo Hamendif # PM_DEVFREQ 69