Kernel driver nouveau
===================

Supported chips:
* NV43+

Authors: Martin Peres (mupuf) <martin.peres@labri.fr>

Description
---------

This driver allows to read the GPU core temperature, drive the GPU fan and
set temperature alarms.

Currently, due to the absence of in-kernel API to access HWMON drivers, Nouveau
cannot access any of the i2c external monitoring chips it may find. If you
have one of those, temperature and/or fan management through Nouveau's HWMON
interface is likely not to work. This document may then not cover your situation
entirely.

Temperature management
--------------------

Temperature is exposed under as a read-only HWMON attribute temp1_input.

In order to protect the GPU from overheating, Nouveau supports 4 configurable
temperature thresholds:

 * Fan_boost: Fan speed is set to 100% when reaching this temperature;
 * Downclock: The GPU will be downclocked to reduce its power dissipation;
 * Critical: The GPU is put on hold to further lower power dissipation;
 * Shutdown: Shut the computer down to protect your GPU.

WARNING: Some of these thresholds may not be used by Nouveau depending
on your chipset.

The default value for these thresholds comes from the GPU's vbios. These
thresholds can be configured thanks to the following HWMON attributes:

 * Fan_boost: temp1_auto_point1_temp and temp1_auto_point1_temp_hyst;
 * Downclock: temp1_max and temp1_max_hyst;
 * Critical: temp1_crit and temp1_crit_hyst;
 * Shutdown: temp1_emergency and temp1_emergency_hyst.

NOTE: Remember that the values are stored as milli degrees Celcius. Don't forget
to multiply!

Fan management
------------

Not all cards have a drivable fan. If you do, then the following HWMON
attributes should be available:

 * pwm1_enable: Current fan management mode (NONE, MANUAL or AUTO);
 * pwm1: Current PWM value (power percentage);
 * pwm1_min: The minimum PWM speed allowed;
 * pwm1_max: The maximum PWM speed allowed (bypassed when hitting Fan_boost);

You may also have the following attribute:

 * fan1_input: Speed in RPM of your fan.

Your fan can be driven in different modes:

 * 0: The fan is left untouched;
 * 1: The fan can be driven in manual (use pwm1 to change the speed);
 * 2; The fan is driven automatically depending on the temperature.

NOTE: Be sure to use the manual mode if you want to drive the fan speed manually

NOTE2: Not all fan management modes may be supported on all chipsets. We are
working on it.

Bug reports
---------

Thermal management on Nouveau is new and may not work on all cards. If you have
inquiries, please ping mupuf on IRC (#nouveau, freenode).

Bug reports should be filled on Freedesktop's bug tracker. Please follow
http://nouveau.freedesktop.org/wiki/Bugs
