diff options
author | Matthew Garrett <mjg59@srcf.ucam.org> | 2008-12-03 18:00:38 +0000 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2009-03-27 16:58:22 -0400 |
commit | 03a971a2899886006f19f3495973bbd646d8bdae (patch) | |
tree | 6b82e8d67ca5eaf94fce4bd419276d90ac281c8e /include/linux/thermal.h | |
parent | f6f5c45e06e86d94621cd5c1c4508bdee1952fc8 (diff) | |
download | linux-stable-03a971a2899886006f19f3495973bbd646d8bdae.tar.gz linux-stable-03a971a2899886006f19f3495973bbd646d8bdae.tar.bz2 linux-stable-03a971a2899886006f19f3495973bbd646d8bdae.zip |
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>
Diffstat (limited to 'include/linux/thermal.h')
-rw-r--r-- | include/linux/thermal.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/thermal.h b/include/linux/thermal.h index a81c61521ba4..1de8b9eb841b 100644 --- a/include/linux/thermal.h +++ b/include/linux/thermal.h @@ -113,6 +113,7 @@ struct thermal_zone_device { int polling_delay; int last_temperature; bool passive; + unsigned int forced_passive; struct thermal_zone_device_ops *ops; struct list_head cooling_devices; struct idr idr; |