<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/thermal, branch v3.18.62</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v3.18.62</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v3.18.62'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2017-01-15T14:49:50+00:00</updated>
<entry>
<title>thermal: hwmon: Properly report critical temperature in sysfs</title>
<updated>2017-01-15T14:49:50+00:00</updated>
<author>
<name>Krzysztof Kozlowski</name>
<email>krzk@kernel.org</email>
</author>
<published>2016-11-22T17:22:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=cc49a97516efdae4c867c4f5576caf5758e39650'/>
<id>urn:sha1:cc49a97516efdae4c867c4f5576caf5758e39650</id>
<content type='text'>
[ Upstream commit f37fabb8643eaf8e3b613333a72f683770c85eca ]

In the critical sysfs entry the thermal hwmon was returning wrong
temperature to the user-space.  It was reporting the temperature of the
first trip point instead of the temperature of critical trip point.

For example:
	/sys/class/hwmon/hwmon0/temp1_crit:50000
	/sys/class/thermal/thermal_zone0/trip_point_0_temp:50000
	/sys/class/thermal/thermal_zone0/trip_point_0_type:active
	/sys/class/thermal/thermal_zone0/trip_point_3_temp:120000
	/sys/class/thermal/thermal_zone0/trip_point_3_type:critical

Since commit e68b16abd91d ("thermal: add hwmon sysfs I/F") the driver
have been registering a sysfs entry if get_crit_temp() callback was
provided.  However when accessed, it was calling get_trip_temp() instead
of the get_crit_temp().

Fixes: e68b16abd91d ("thermal: add hwmon sysfs I/F")
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Krzysztof Kozlowski &lt;krzk@kernel.org&gt;
Signed-off-by: Zhang Rui &lt;rui.zhang@intel.com&gt;
Signed-off-by: Sasha Levin &lt;alexander.levin@verizon.com&gt;
</content>
</entry>
<entry>
<title>Correct backport of fa3c776 ("Thermal: Ignore invalid trip points")</title>
<updated>2016-04-23T00:38:23+00:00</updated>
<author>
<name>Mike Galbraith</name>
<email>umgwanakikbuti@gmail.com</email>
</author>
<published>2016-04-23T00:38:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=95617b5e03996c9b76743c187d53849ae1c296a2'/>
<id>urn:sha1:95617b5e03996c9b76743c187d53849ae1c296a2</id>
<content type='text'>
Backport of 81ad4276b505e987dd8ebbdf63605f92cd172b52 failed to adjust
for intervening -&gt;get_trip_temp() argument type change, thus causing
stack protector to panic.

drivers/thermal/thermal_core.c: In function ‘thermal_zone_device_register’:
drivers/thermal/thermal_core.c:1569:41: warning: passing argument 3 of
‘tz-&gt;ops-&gt;get_trip_temp’ from incompatible pointer type [-Wincompatible-pointer-types]
   if (tz-&gt;ops-&gt;get_trip_temp(tz, count, &amp;trip_temp))
                                         ^
drivers/thermal/thermal_core.c:1569:41: note: expected ‘long unsigned int *’
but argument is of type ‘int *’

CC: &lt;stable@vger.kernel.org&gt; #3.18,#4.1
Signed-off-by: Mike Galbraith &lt;umgwanakikbuti@gmail.com&gt;
</content>
</entry>
<entry>
<title>Thermal: Ignore invalid trip points</title>
<updated>2016-04-18T12:49:34+00:00</updated>
<author>
<name>Zhang Rui</name>
<email>rui.zhang@intel.com</email>
</author>
<published>2016-03-18T02:03:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=79a6f040d874e0dec6adf116034ac59fbb5710fd'/>
<id>urn:sha1:79a6f040d874e0dec6adf116034ac59fbb5710fd</id>
<content type='text'>
[ Upstream commit 81ad4276b505e987dd8ebbdf63605f92cd172b52 ]

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 bb431ba26c5cd0a17c941ca6c3a195a3a6d5d461
Author: Zhang Rui &lt;rui.zhang@intel.com&gt;
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-&gt;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 &lt;manuelkrause@netscape.net&gt;
    Tested-by: szegad &lt;szegadlo@poczta.onet.pl&gt;
    Tested-by: prash &lt;prash.n.rao@gmail.com&gt;
    Tested-by: amish &lt;ammdispose-arch@yahoo.com&gt;
    Tested-by: Matthias &lt;morpheusxyz123@yahoo.de&gt;
    Reviewed-by: Javi Merino &lt;javi.merino@arm.com&gt;
    Signed-off-by: Zhang Rui &lt;rui.zhang@intel.com&gt;
    Signed-off-by: Chen Yu &lt;yu.c.chen@intel.com&gt;

CC: &lt;stable@vger.kernel.org&gt; #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 &lt;rui.zhang@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>Thermal: do thermal zone update after a cooling device registered</title>
<updated>2016-02-10T03:55:43+00:00</updated>
<author>
<name>Chen Yu</name>
<email>yu.c.chen@intel.com</email>
</author>
<published>2015-10-30T08:32:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=914186fa0ab0d835123dd8ca00ab47027683d40d'/>
<id>urn:sha1:914186fa0ab0d835123dd8ca00ab47027683d40d</id>
<content type='text'>
[ Upstream commit 4511f7166a2deb5f7a578cf87fd2fe1ae83527e3 ]

When a new cooling device is registered, we need to update the
thermal zone to set the new registered cooling device to a proper
state.

This fixes a problem that the system is cool, while the fan devices
are left running on full speed after boot, if fan device is registered
after thermal zone device.

Here is the history of why current patch looks like this:
https://patchwork.kernel.org/patch/7273041/

CC: &lt;stable@vger.kernel.org&gt; #3.18+
Reference:https://bugzilla.kernel.org/show_bug.cgi?id=92431
Tested-by: Manuel Krause &lt;manuelkrause@netscape.net&gt;
Tested-by: szegad &lt;szegadlo@poczta.onet.pl&gt;
Tested-by: prash &lt;prash.n.rao@gmail.com&gt;
Tested-by: amish &lt;ammdispose-arch@yahoo.com&gt;
Reviewed-by: Javi Merino &lt;javi.merino@arm.com&gt;
Signed-off-by: Zhang Rui &lt;rui.zhang@intel.com&gt;
Signed-off-by: Chen Yu &lt;yu.c.chen@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>Thermal: handle thermal zone device properly during system sleep</title>
<updated>2016-02-10T03:55:43+00:00</updated>
<author>
<name>Zhang Rui</name>
<email>rui.zhang@intel.com</email>
</author>
<published>2015-10-30T08:31:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=479ea3ba1bbce34eec93129b75a54f4304019a77'/>
<id>urn:sha1:479ea3ba1bbce34eec93129b75a54f4304019a77</id>
<content type='text'>
[ Upstream commit ff140fea847e1c2002a220571ab106c2456ed252 ]

Current thermal code does not handle system sleep well because
1. the cooling device cooling state may be changed during suspend
2. the previous temperature reading becomes invalid after resumed because
   it is got before system sleep
3. updating thermal zone device during suspending/resuming
   is wrong because some devices may have already been suspended
   or may have not been resumed.

Thus, the proper way to do this is to cancel all thermal zone
device update requirements during suspend/resume, and after all
the devices have been resumed, reset and update every registered
thermal zone devices.

This also fixes a regression introduced by:
Commit 19593a1fb1f6 ("ACPI / fan: convert to platform driver")
Because, with above commit applied, all the fan devices are attached
to the acpi_general_pm_domain, and they are turned on by the pm_domain
automatically after resume, without the awareness of thermal core.

CC: &lt;stable@vger.kernel.org&gt; #3.18+
Reference: https://bugzilla.kernel.org/show_bug.cgi?id=78201
Reference: https://bugzilla.kernel.org/show_bug.cgi?id=91411
Tested-by: Manuel Krause &lt;manuelkrause@netscape.net&gt;
Tested-by: szegad &lt;szegadlo@poczta.onet.pl&gt;
Tested-by: prash &lt;prash.n.rao@gmail.com&gt;
Tested-by: amish &lt;ammdispose-arch@yahoo.com&gt;
Tested-by: Matthias &lt;morpheusxyz123@yahoo.de&gt;
Reviewed-by: Javi Merino &lt;javi.merino@arm.com&gt;
Signed-off-by: Zhang Rui &lt;rui.zhang@intel.com&gt;
Signed-off-by: Chen Yu &lt;yu.c.chen@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>Thermal: initialize thermal zone device correctly</title>
<updated>2016-02-10T03:55:42+00:00</updated>
<author>
<name>Zhang Rui</name>
<email>rui.zhang@intel.com</email>
</author>
<published>2015-10-30T08:31:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=69cfaa8fdc12c808690636d96c48538d88ed9b70'/>
<id>urn:sha1:69cfaa8fdc12c808690636d96c48538d88ed9b70</id>
<content type='text'>
[ Upstream commit bb431ba26c5cd0a17c941ca6c3a195a3a6d5d461 ]

After thermal zone device registered, as we have not read any
temperature before, thus tz-&gt;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.

CC: &lt;stable@vger.kernel.org&gt; #3.18+
Tested-by: Manuel Krause &lt;manuelkrause@netscape.net&gt;
Tested-by: szegad &lt;szegadlo@poczta.onet.pl&gt;
Tested-by: prash &lt;prash.n.rao@gmail.com&gt;
Tested-by: amish &lt;ammdispose-arch@yahoo.com&gt;
Tested-by: Matthias &lt;morpheusxyz123@yahoo.de&gt;
Reviewed-by: Javi Merino &lt;javi.merino@arm.com&gt;
Signed-off-by: Zhang Rui &lt;rui.zhang@intel.com&gt;
Signed-off-by: Chen Yu &lt;yu.c.chen@intel.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>thermal: rcar: fix ENR register value</title>
<updated>2015-08-27T17:26:01+00:00</updated>
<author>
<name>Yoshihiro Shimoda</name>
<email>yoshihiro.shimoda.uh@renesas.com</email>
</author>
<published>2015-01-07T01:13:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8d31c41e51ed690755f0f33716e065e960f9949f'/>
<id>urn:sha1:8d31c41e51ed690755f0f33716e065e960f9949f</id>
<content type='text'>
[ Upstream commit 11313746547015ace605c4c347a40350753051e4 ]

On R-Mobile APE6, since it has 3 thermal zones, ENR register
has enable bits in bit 19-16, bit 11-8 and bit 3-0.

However, on R-Car gen2, since it has 1 thermal zone, ENR register has
enable bits in bit 3-0. (In other words, the write value should always
be 0 for bit 31-4 of ENR register.)

So, this patch fixes the ENR register value using I/O resource sets.

Acked-by: Geert Uytterhoeven &lt;geert+renesas@glider.be&gt;
Signed-off-by: Yoshihiro Shimoda &lt;yoshihiro.shimoda.uh@renesas.com&gt;
Signed-off-by: Eduardo Valentin &lt;edubezval@gmail.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>thermal: armada: Update Armada 380 thermal sensor coefficients</title>
<updated>2015-06-10T17:42:37+00:00</updated>
<author>
<name>Nadav Haklai</name>
<email>nadavh@marvell.com</email>
</author>
<published>2015-04-15T17:08:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=954e522029b02a94a94a22d0696409121e694473'/>
<id>urn:sha1:954e522029b02a94a94a22d0696409121e694473</id>
<content type='text'>
[ Upstream commit efa86858e1d8970411a140fa1e0c4dd18a8f2a89 ]

Improve the Armada 380 thermal sensor accuracy by using updated formula.
The updated formula is:
Temperature[C degrees] = 0.4761 * tsen_vsen_out - 279.1

Signed-off-by: Nadav Haklai &lt;nadavh@marvell.com&gt;
Signed-off-by: Gregory CLEMENT &lt;gregory.clement@free-electrons.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; #v3.16
Signed-off-by: Eduardo Valentin &lt;edubezval@gmail.com&gt;
Signed-off-by: Sasha Levin &lt;sasha.levin@oracle.com&gt;
</content>
</entry>
<entry>
<title>tick/powerclamp: Remove tick_nohz_idle abuse</title>
<updated>2015-01-27T16:29:37+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2014-12-18T10:51:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=97bb3ed647b3623d8b28f40adcedf5d651065463'/>
<id>urn:sha1:97bb3ed647b3623d8b28f40adcedf5d651065463</id>
<content type='text'>
commit a5fd9733a30d18d7ac23f17080e7e07bb3205b69 upstream.

commit 4dbd27711cd9 "tick: export nohz tick idle symbols for module
use" was merged via the thermal tree without an explicit ack from the
relevant maintainers.

The exports are abused by the intel powerclamp driver which implements
a fake idle state from a sched FIFO task. This causes all kinds of
wreckage in the NOHZ core code which rightfully assumes that
tick_nohz_idle_enter/exit() are only called from the idle task itself.

Recent changes in the NOHZ core lead to a failure of the powerclamp
driver and now people try to hack completely broken and backwards
workarounds into the NOHZ core code. This is completely unacceptable
and just papers over the real problem. There are way more subtle
issues lurking around the corner.

The real solution is to fix the powerclamp driver by rewriting it with
a sane concept, but that's beyond the scope of this.

So the only solution for now is to remove the calls into the core NOHZ
code from the powerclamp trainwreck along with the exports.

Fixes: d6d71ee4a14a "PM: Introduce Intel PowerClamp Driver"
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Preeti U Murthy &lt;preeti@linux.vnet.ibm.com&gt;
Cc: Viresh Kumar &lt;viresh.kumar@linaro.org&gt;
Cc: Frederic Weisbecker &lt;fweisbec@gmail.com&gt;
Cc: Fengguang Wu &lt;fengguang.wu@intel.com&gt;
Cc: Frederic Weisbecker &lt;frederic@kernel.org&gt;
Cc: Pan Jacob jun &lt;jacob.jun.pan@intel.com&gt;
Cc: LKP &lt;lkp@01.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Zhang Rui &lt;rui.zhang@intel.com&gt;
Link: http://lkml.kernel.org/r/alpine.DEB.2.11.1412181110110.17382@nanos
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>thermal: Fix error path in thermal_init()</title>
<updated>2015-01-08T18:30:24+00:00</updated>
<author>
<name>Luis Henriques</name>
<email>luis.henriques@canonical.com</email>
</author>
<published>2014-12-03T21:20:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=16811f019293b6c34d6e2649ca8e182532805a22'/>
<id>urn:sha1:16811f019293b6c34d6e2649ca8e182532805a22</id>
<content type='text'>
commit 9d367e5e7b05c71a8c1ac4e9b6e00ba45a79f2fc upstream.

thermal_unregister_governors() and class_unregister() were being called in
the wrong order.

Fixes: 80a26a5c22b9 ("Thermal: build thermal governors into thermal_sys module")
Signed-off-by: Luis Henriques &lt;luis.henriques@canonical.com&gt;
Signed-off-by: Zhang Rui &lt;rui.zhang@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
</feed>
