linux/drivers/thermal
Zhang Rui fa3c776f1c Thermal: Ignore invalid trip points
[ Upstream commit 81ad4276b5 ]

In some cases, platform thermal driver may report invalid trip points,
thermal core should not take any action for these trip points.

This fixed a regression that bogus trip point starts to screw up thermal
control on some Lenovo laptops, after
commit bb431ba26c
Author: Zhang Rui <rui.zhang@intel.com>
Date:   Fri Oct 30 16:31:47 2015 +0800

    Thermal: initialize thermal zone device correctly

    After thermal zone device registered, as we have not read any
    temperature before, thus tz->temperature should not be 0,
    which actually means 0C, and thermal trend is not available.
    In this case, we need specially handling for the first
    thermal_zone_device_update().

    Both thermal core framework and step_wise governor is
    enhanced to handle this. And since the step_wise governor
    is the only one that uses trends, so it's the only thermal
    governor that needs to be updated.

    Tested-by: Manuel Krause <manuelkrause@netscape.net>
    Tested-by: szegad <szegadlo@poczta.onet.pl>
    Tested-by: prash <prash.n.rao@gmail.com>
    Tested-by: amish <ammdispose-arch@yahoo.com>
    Tested-by: Matthias <morpheusxyz123@yahoo.de>
    Reviewed-by: Javi Merino <javi.merino@arm.com>
    Signed-off-by: Zhang Rui <rui.zhang@intel.com>
    Signed-off-by: Chen Yu <yu.c.chen@intel.com>

CC: <stable@vger.kernel.org> #3.18+
Link: https://bugzilla.redhat.com/show_bug.cgi?id=1317190
Link: https://bugzilla.kernel.org/show_bug.cgi?id=114551
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
History 2016-04-18 08:51:02 -04:00
..
int340x_thermal Thermal/int340x: Fix memleak for aux trip 2015-03-05 01:41:51 -04:00
samsung thermal: exynos: Disable the regulator on probe failure 2015-08-16 20:52:25 -07:00
st drivers: thermal: st: remove several sparse warnings 2015-04-07 13:43:28 -07:00
ti-soc-thermal thermal: ti-soc-thermal: OMAP5: Implement Workaround for Errata i813 2015-05-08 18:02:29 -07:00
armada_thermal.c thermal: armada: Update Armada 380 thermal sensor coefficients 2015-05-09 01:00:31 -07:00
clock_cooling.c thermal: introduce clock cooling device 2014-11-20 10:43:16 -04:00
cpu_cooling.c Merge branches 'thermal-core', 'thermal-soc' and 'thermal-int340x' of .git into next 2014-12-24 10:38:30 +08:00
db8500_cpufreq_cooling.c Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal into thermal-soc 2014-12-21 22:49:12 +08:00
db8500_thermal.c thermal: drop owner assignment from platform_drivers 2014-10-20 16:21:42 +02:00
dove_thermal.c thermal: drop owner assignment from platform_drivers 2014-10-20 16:21:42 +02:00
fair_share.c thermal: trace: Trace when temperature is above a trip point 2014-07-29 09:28:43 -04:00
gov_bang_bang.c thermal: Added Bang-bang thermal governor 2014-08-27 15:45:58 +08:00
imx_thermal.c Thermal: imx: add clk disable/enable for suspend/resume 2015-01-06 09:35:15 -04:00
intel_powerclamp.c thermal/powerclamp: fix missing newer package c-states 2015-05-09 13:36:57 +08:00
intel_soc_dts_thermal.c thermal: Intel SoC DTS: Add Braswell support 2015-01-29 11:28:01 +08:00
Kconfig thermal: rockchip: add driver for thermal 2014-11-24 14:35:07 -04:00
kirkwood_thermal.c thermal: drop owner assignment from platform_drivers 2014-10-20 16:21:42 +02:00
Makefile thermal: rockchip: add driver for thermal 2014-11-24 14:35:07 -04:00
of-thermal.c thermal: of: Enable thermal_zoneX when sensor is correctly added 2015-01-21 01:09:52 -04:00
rcar_thermal.c thermal: rcar: Make error and remove paths symmetrical with init 2015-02-24 14:58:05 -04:00
rockchip_thermal.c thermal: rockchip: fix an error code 2015-05-09 13:36:57 +08:00
spear_thermal.c thermal: drop owner assignment from platform_drivers 2014-10-20 16:21:42 +02:00
step_wise.c Thermal: initialize thermal zone device correctly 2016-02-01 14:45:56 -05:00
tegra_soctherm.c thermal: of: improve of-thermal sensor registration API 2014-11-20 10:44:54 -04:00
thermal_core.c Thermal: Ignore invalid trip points 2016-04-18 08:51:02 -04:00
thermal_core.h Thermal: initialize thermal zone device correctly 2016-02-01 14:45:56 -05:00
thermal_hwmon.c thermal: hwmon: Make the check for critical temp valid consistent 2014-06-30 10:17:27 +08:00
thermal_hwmon.h thermal: hwmon: move hwmon support to single file 2013-09-03 09:09:12 -04:00
user_space.c Thermal: build thermal governors into thermal_sys module 2013-04-14 23:28:43 +08:00
x86_pkg_temp_thermal.c thermal, x86-pkg-temp: Fix CPU hotplug callback registration 2014-03-20 13:43:47 +01:00