Documentation/driver-api/thermal/nouveau_thermal.rst

Source file repositories/reference/linux-study-clean/Documentation/driver-api/thermal/nouveau_thermal.rst

File Facts

System
Linux kernel
Corpus path
Documentation/driver-api/thermal/nouveau_thermal.rst
Extension
.rst
Size
2859 bytes
Lines
97
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

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

Supported chips:

* NV43+

Authors: Martin Peres (mupuf) <martin.peres@free.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 Celsius. 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:

Annotation

Implementation Notes