thermal: support forcing support for passive cooling
authorMatthew Garrett <mjg59@srcf.ucam.org>
Wed, 3 Dec 2008 18:00:38 +0000 (18:00 +0000)
committerLen Brown <len.brown@intel.com>
Fri, 27 Mar 2009 20:58:22 +0000 (16:58 -0400)
commit03a971a2899886006f19f3495973bbd646d8bdae
tree6b82e8d67ca5eaf94fce4bd419276d90ac281c8e
parentf6f5c45e06e86d94621cd5c1c4508bdee1952fc8
thermal: support forcing support for passive cooling

Due to poor thermal design or Linux driving hardware outside its thermal
envelope, some systems will reach critical temperature and shut down
under high load. This patch adds support for forcing a polling-based
passive trip point if the firmware doesn't provide one. The assumption
is made that the processor is the most practical means to reduce the
dynamic heat generation, so hitting the passive thermal limit will cause
the CPU to be throttled until the temperature stabalises around the
defined value.

UI is provided via a "passive" sysfs entry in the thermal zone
directory. It accepts a decimal value in millidegrees celsius, or "0" to
disable the functionality. Default behaviour is for this functionality
to be disabled.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/thermal/thermal_sys.c
include/linux/thermal.h