]> git.baikalelectronics.ru Git - kernel.git/commit
PM / devfreq: Add new passive governor
authorChanwoo Choi <cw00.choi@samsung.com>
Tue, 22 Mar 2016 04:44:03 +0000 (13:44 +0900)
committerMyungJoo Ham <myungjoo.ham@samsung.com>
Tue, 3 May 2016 02:20:07 +0000 (11:20 +0900)
commit4de1b26c53510e91e00e732c4083366d57c2eb60
treee197b5d3bc8b7816db57c3bff4b509c6eb111a1f
parentd989366f8665d796a440dba779a4640e1b7c1d9b
PM / devfreq: Add new passive governor

This patch adds the new passive governor for DEVFREQ framework. The following
governors are already present and used for DVFS (Dynamic Voltage and Frequency
Scaling) drivers. The following governors are independently used for one device
driver which don't give the influence to other device drviers and also don't
receive the effect from other device drivers.
- ondemand / performance / powersave / userspace

The passive governor depends on operation of parent driver with specific
governos extremely and is not able to decide the new frequency by oneself.
According to the decided new frequency of parent driver with governor,
the passive governor uses it to decide the appropriate frequency for own
device driver. The passive governor must need the following information
from device tree:
- the source clock and OPP tables
- the instance of parent device

For exameple,
there are one more devfreq device drivers which need to change their source
clock according to their utilization on runtime. But, they share the same
power line (e.g., regulator). So, specific device driver is operated as parent
with ondemand governor and then the rest device driver with passive governor
is influenced by parent device.

Suggested-by: Myungjoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
[tjakobi: Reported RCU locking issue and cw00.choi fix it]
Reported-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
[linux.amoon: Reported possible recursive locking and cw00.choi fix it]
Reported-by: Anand Moon <linux.amoon@gmail.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
drivers/devfreq/Kconfig
drivers/devfreq/Makefile
drivers/devfreq/governor_passive.c [new file with mode: 0644]
include/linux/devfreq.h