thermal: devfreq_cooling: add new interface for direct power read
authorLukasz Luba <lukasz.luba@arm.com>
Thu, 4 May 2017 11:34:32 +0000 (12:34 +0100)
committerZhang Rui <rui.zhang@intel.com>
Fri, 5 May 2017 07:54:45 +0000 (15:54 +0800)
commit2be83da85a64773efaa407639de81bd1377f880e
tree71ee9c4b2a318f11345c3770a2dd3900c14bf2b0
parente34cab4cd1f98b4daed5bc98fe727e63f8dbf4e4
thermal: devfreq_cooling: add new interface for direct power read

This patch introduces a new interface for device drivers connected to
devfreq_cooling in the thermal framework: get_real_power().

Some devices have more sophisticated methods (like power counters)
to approximate the actual power that they use.
In the previous implementation we had a pre-calculated power
table which was then scaled by 'utilization'
('busy_time' and 'total_time' taken from devfreq 'last_status').

With this new interface the driver can provide more precise data
regarding actual power to the thermal governor every time the power
budget is calculated. We then use this value and calculate the real
resource utilization scaling factor.

Reviewed-by: Chris Diamand <chris.diamand@arm.com>
Acked-by: Javi Merino <javi.merino@kernel.org>
Signed-off-by: Lukasz Luba <lukasz.luba@arm.com>
drivers/thermal/devfreq_cooling.c
include/linux/devfreq_cooling.h