<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/acpi/thermal.c, branch linux-3.8.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.8.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.8.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2013-05-08T03:08:22Z</updated>
<entry>
<title>ACPI / thermal: do not always return THERMAL_TREND_RAISING for active trip points</title>
<updated>2013-05-08T03:08:22Z</updated>
<author>
<name>Zhang Rui</name>
</author>
<published>2013-04-26T09:19:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=928c5edbe6f7cb0d1c71bc2353d091bc5b114fe3'/>
<id>urn:sha1:928c5edbe6f7cb0d1c71bc2353d091bc5b114fe3</id>
<content type='text'>
commit 94a409319561ec1847fd9bf996a2d5843ad00932 upstream.

Commit 4ae46be "Thermal: Introduce thermal_zone_trip_update()"
introduced a regression causing the fan to be always on even when
the system is idle.

My original idea in that commit is that:
 - when the current temperature is above the trip point,
   keep the fan on, even if the temperature is dropping.
 - when the current temperature is below the trip point,
   turn on the fan when the temperature is raising,
   turn off the fan when the temperature is dropping.

But this is what the code actually does:
 - when the current temperature is above the trip point,
   the fan keeps on.
 - when the current temperature is below the trip point,
   the fan is always on because thermal_get_trend()
   in driver/acpi/thermal.c returns THERMAL_TREND_RAISING.
Thus the fan keeps running even if the system is idle.

Fix this in drivers/acpi/thermal.c.

[rjw: Changelog]
References: https://bugzilla.kernel.org/show_bug.cgi?id=56591
References: https://bugzilla.kernel.org/show_bug.cgi?id=56601
References: https://bugzilla.kernel.org/show_bug.cgi?id=50041#c45
Signed-off-by: Zhang Rui &lt;rui.zhang@intel.com&gt;
Tested-by: Matthias &lt;morpheusxyz123@yahoo.de&gt;
Tested-by: Ville Syrjälä &lt;syrjala@sci.fi&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux</title>
<updated>2012-12-12T15:57:13Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2012-12-12T15:57:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=50851c6248e1a13c45d97c41f6ebcf716093aa5e'/>
<id>urn:sha1:50851c6248e1a13c45d97c41f6ebcf716093aa5e</id>
<content type='text'>
Pull thermal management update from Zhang Rui:
 "Highlights:

   - Introduction of thermal policy support, together with three new
     thermal governors, including step_wise, user_space, fire_share.

   - Introduction of ST-Ericsson db8500_thermal driver and ST-Ericsson
     db8500_cpufreq_cooling driver.

   - Thermal Kconfig file and Makefile refactor.

   - Fixes for generic thermal layer, generic cpucooling, rcar thermal
     driver and Exynos thermal driver."

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (36 commits)
  Thermal: Fix DEFAULT_THERMAL_GOVERNOR
  Thermal: fix a NULL pointer dereference when generic thermal layer is built as a module
  thermal: rcar: add rcar_zone_to_priv() macro
  thermal: rcar: fixup the unit of temperature
  thermal: cpu cooling: allow module builds
  thermal: cpu cooling: use const parameter while registering
  Thermal: Add ST-Ericsson DB8500 thermal properties and platform data.
  Thermal: Add ST-Ericsson DB8500 thermal driver.
  drivers/thermal/Makefile refactor
  Exynos: Add missing dependency
  Refactor drivers/thermal/Kconfig
  thermal: cpu_cooling: Make 'notify_device' static
  Thermal: Remove the cooling_cpufreq_list.
  Thermal: fix bug of counting cpu frequencies.
  Thermal: add indent for code alignment.
  thermal: rcar_thermal: remove explicitly used devm_kfree/iounap()
  thermal: user_space: Add missing static storage class specifiers
  thermal: fair_share: Add missing static storage class specifiers
  thermal: step_wise: Add missing static storage class specifiers
  Thermal: Fix oops and unlocking in thermal_sys.c
  ...
</content>
</entry>
<entry>
<title>ACPI / thermal: _TMP and _CRT/_HOT/_PSV/_ACx dependency fix</title>
<updated>2012-11-27T19:42:11Z</updated>
<author>
<name>Zhang Rui</name>
</author>
<published>2012-11-27T19:42:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=261cba2deb7d3bebd180c35d5dbf8961f6e9afc4'/>
<id>urn:sha1:261cba2deb7d3bebd180c35d5dbf8961f6e9afc4</id>
<content type='text'>
On some platforms, _TMP and _CRT/_HOT/_PSV/_ACx have dependency.
And there is no way for OS to detect this dependency.

commit 9bcb8118965ab4631a65ee0726e6518f75cda6c5 shows us a problem
that _TMP must be evaluate after _CRT/_HOT/_PSV/_ACx, or else
firmware will shutdown the system.

But the machine in https://bugzilla.kernel.org/show_bug.cgi?id=43284
shows us that _PSV would return valid value only if _TMP has been
evaluated once.

With this patch, all of the control methods will be evaluated once,
in the _CRT/_HOT/_PSV/_CRT/_TMP order, before they are actually used.

[rjw: Added a local variable for the handle and modified the loop
 slightly.]
Signed-off-by: Zhang Rui &lt;rui.zhang@intel.com&gt;
Tested-by: katabami &lt;katabami@lavabit.com&gt;
Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt;
</content>
</entry>
<entry>
<title>Thermal: Pass zone parameters as argument to tzd_register</title>
<updated>2012-11-05T05:59:57Z</updated>
<author>
<name>Durgadoss R</name>
</author>
<published>2012-09-18T05:34:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=50125a9b27dd09e9afdc1b8712ba0b3859886c68'/>
<id>urn:sha1:50125a9b27dd09e9afdc1b8712ba0b3859886c68</id>
<content type='text'>
This patch adds the thermal zone parameter as an argument to
the tzd_register() function call; and updates other drivers
using this function.

Signed-off-by: Durgadoss R &lt;durgadoss.r@intel.com&gt;
Signed-off-by: Zhang Rui &lt;rui.zhang@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux into thermal</title>
<updated>2012-10-09T05:35:52Z</updated>
<author>
<name>Len Brown</name>
</author>
<published>2012-10-09T05:35:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=29b19e250434c6193c8b8e4c34c9c6284dd4f101'/>
<id>urn:sha1:29b19e250434c6193c8b8e4c34c9c6284dd4f101</id>
<content type='text'>
Conflicts:
	drivers/staging/omap-thermal/omap-thermal-common.
		OMAP supplied dummy TC1 and TC2,
		at the same time that the thermal tree removed them
		from thermal_zone_device_register()

	drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c
		propogate the upstream MAX_IDR_LEVEL re-name
			to prevent a build failure

	Previously-fixed-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;

Signed-off-by: Len Brown &lt;len.brown@intel.com&gt;
</content>
</entry>
<entry>
<title>Thermal: Introduce thermal_zone_trip_update()</title>
<updated>2012-09-24T06:44:37Z</updated>
<author>
<name>Zhang Rui</name>
</author>
<published>2012-06-27T02:05:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4ae46befb49d4173122e0afa995c4e93d01948a2'/>
<id>urn:sha1:4ae46befb49d4173122e0afa995c4e93d01948a2</id>
<content type='text'>
This function is used to update the cooling state of
all the cooling devices that are bound to an active trip point.

This will be used for passive cooling as well, in the future patches.
as both active and passive cooling can share the same algorithm,
which is

1. if the temperature is higher than a trip point,
   a. if the trend is THERMAL_TREND_RAISING, use higher cooling
      state for this trip point
   b. if the trend is THERMAL_TREND_DROPPING, use lower cooling
      state for this trip point

2. if the temperature is lower than a trip point, use lower
   cooling state for this trip point.

Signed-off-by: Zhang Rui &lt;rui.zhang@intel.com&gt;
Reviewed-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Reviewed-by: Eduardo Valentin &lt;eduardo.valentin@ti.com&gt;
</content>
</entry>
<entry>
<title>Thermal: Remove tc1/tc2 in generic thermal layer.</title>
<updated>2012-09-24T06:44:36Z</updated>
<author>
<name>Zhang Rui</name>
</author>
<published>2012-06-27T01:51:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1b7ddb840c3908464b19d4aa4f6dc4c463302442'/>
<id>urn:sha1:1b7ddb840c3908464b19d4aa4f6dc4c463302442</id>
<content type='text'>
Remove tc1/tc2 in generic thermal layer.
.get_trend() callback starts to take effect from this patch.

Signed-off-by: Zhang Rui &lt;rui.zhang@intel.com&gt;
Reviewed-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Reviewed-by: Valentin, Eduardo &lt;eduardo.valentin@ti.com&gt;
</content>
</entry>
<entry>
<title>Thermal: Introduce .get_trend() callback.</title>
<updated>2012-09-24T06:44:36Z</updated>
<author>
<name>Zhang Rui</name>
</author>
<published>2012-06-27T01:54:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=601f3d4242be6ed6f72a2aadabc91e8255dad811'/>
<id>urn:sha1:601f3d4242be6ed6f72a2aadabc91e8255dad811</id>
<content type='text'>
According to ACPI spec, tc1 and tc2 are used by OSPM
to anticipate the temperature trends.
We introduced the same concept to the generic thermal layer
for passive cooling, but now it seems that these values
are hard to be used on other platforms.

So We introduce .get_trend() as a more general solution.

For the platform thermal drivers that have their own way to
anticipate the temperature trends, they should provide
their own .get_trend() callback.
Or else, we will calculate the temperature trends by simply
comparing the current temperature and the cached previous
temperature reading.

Signed-off-by: Zhang Rui &lt;rui.zhang@intel.com&gt;
Reviewed-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Reviewed-by: Valentin, Eduardo &lt;eduardo.valentin@ti.com&gt;
</content>
</entry>
<entry>
<title>Thermal: set upper and lower limits</title>
<updated>2012-09-24T06:44:36Z</updated>
<author>
<name>Zhang Rui</name>
</author>
<published>2012-06-26T08:35:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9d99842f99d847191ebd0c28469d2c70fcc5bf9e'/>
<id>urn:sha1:9d99842f99d847191ebd0c28469d2c70fcc5bf9e</id>
<content type='text'>
set upper and lower limits when binding
a thermal cooling device to a thermal zone device.

Signed-off-by: Zhang Rui &lt;rui.zhang@intel.com&gt;
Reviewed-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Reviewed-by: Eduardo Valentin &lt;eduardo.valentin@ti.com&gt;
</content>
</entry>
<entry>
<title>ACPI / PM: Fix unused function warnings for CONFIG_PM_SLEEP</title>
<updated>2012-08-10T11:35:32Z</updated>
<author>
<name>Rafael J. Wysocki</name>
</author>
<published>2012-08-09T21:00:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9069240480e24a2d6ce23404c9ad6cabf59b7258'/>
<id>urn:sha1:9069240480e24a2d6ce23404c9ad6cabf59b7258</id>
<content type='text'>
According to compiler warnings, several suspend/resume functions
in ACPI drivers are not used for CONFIG_PM_SLEEP unset, so add
#ifdefs to prevent them from being built in that case.

Signed-off-by: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
</content>
</entry>
</feed>
