thermal: rockchip: make temperature reporting much more accurate
authorCaesar Wang <wxt@rock-chips.com>
Sun, 25 Jan 2015 02:11:11 +0000 (10:11 +0800)
committerEduardo Valentin <edubezval@gmail.com>
Sun, 25 Jan 2015 03:38:36 +0000 (23:38 -0400)
commit1e9a1aea7a05a1c8a7ece72b02d8077089f9e4d5
tree719fd65616eefd8a963e5e3b5bce888b1506f773
parent1fd2273f966a095ff825cb20304878fdf14a6b45
thermal: rockchip: make temperature reporting much more accurate

In general, the kernel should report temperature readings exactly as
reported by the hardware. The cpu / gpu thermal driver works in 5 degree
increments,but we ought to do more accurate. The temperature will do
linear interpolation between the entries in the table.

Test= $md5sum /dev/zero &
$while true; do grep "" /sys/class/thermal/thermal_zone[1-2]/temp;
sleep .5; done

e.g. We can get the result as follows:
    /sys/class/thermal/thermal_zone1/temp:39994
    /sys/class/thermal/thermal_zone2/temp:39086
    /sys/class/thermal/thermal_zone1/temp:39994
    /sys/class/thermal/thermal_zone2/temp:39540
    /sys/class/thermal/thermal_zone1/temp:39540
    /sys/class/thermal/thermal_zone2/temp:39540
    /sys/class/thermal/thermal_zone1/temp:39540
    /sys/class/thermal/thermal_zone2/temp:39994

Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Signed-off-by: Caesar Wang <wxt@rock-chips.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
drivers/thermal/rockchip_thermal.c