Re: [PATCH v9 05/20] PM / devfreq: Add new passive governor
From: Krzysztof Kozlowski
Date: Tue Apr 12 2016 - 04:11:51 EST
On 04/11/2016 05:57 AM, Chanwoo Choi wrote:
> 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@xxxxxxxxxxx>
> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx>
> [tjakobi: Reported RCU locking issue and cw00.choi fix it]
> Reported-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx>
> [linux.amoon: Reported possible recursive locking and cw00.choi fix it]
> Reported-by: Anand Moon <linux.amoon@xxxxxxxxx>
> Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx>
> ---
> drivers/devfreq/Kconfig | 8 ++
> drivers/devfreq/Makefile | 1 +
> drivers/devfreq/governor_passive.c | 207 +++++++++++++++++++++++++++++++++++++
> include/linux/devfreq.h | 33 ++++++
> 4 files changed, 249 insertions(+)
> create mode 100644 drivers/devfreq/governor_passive.c
>
Acked-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
Best regards,
Krzysztof