xref: /linux/Documentation/driver-api/thermal/nouveau_thermal.rst (revision 26fbb4c8c7c3ee9a4c3b4de555a8587b5a19154e)
1=====================
2Kernel driver nouveau
3=====================
4
5Supported chips:
6
7* NV43+
8
9Authors: Martin Peres (mupuf) <martin.peres@free.fr>
10
11Description
12-----------
13
14This driver allows to read the GPU core temperature, drive the GPU fan and
15set temperature alarms.
16
17Currently, due to the absence of in-kernel API to access HWMON drivers, Nouveau
18cannot access any of the i2c external monitoring chips it may find. If you
19have one of those, temperature and/or fan management through Nouveau's HWMON
20interface is likely not to work. This document may then not cover your situation
21entirely.
22
23Temperature management
24----------------------
25
26Temperature is exposed under as a read-only HWMON attribute temp1_input.
27
28In order to protect the GPU from overheating, Nouveau supports 4 configurable
29temperature thresholds:
30
31 * Fan_boost:
32	Fan speed is set to 100% when reaching this temperature;
33 * Downclock:
34	The GPU will be downclocked to reduce its power dissipation;
35 * Critical:
36	The GPU is put on hold to further lower power dissipation;
37 * Shutdown:
38	Shut the computer down to protect your GPU.
39
40WARNING:
41	Some of these thresholds may not be used by Nouveau depending
42	on your chipset.
43
44The default value for these thresholds comes from the GPU's vbios. These
45thresholds can be configured thanks to the following HWMON attributes:
46
47 * Fan_boost: temp1_auto_point1_temp and temp1_auto_point1_temp_hyst;
48 * Downclock: temp1_max and temp1_max_hyst;
49 * Critical: temp1_crit and temp1_crit_hyst;
50 * Shutdown: temp1_emergency and temp1_emergency_hyst.
51
52NOTE: Remember that the values are stored as milli degrees Celsius. Don't forget
53to multiply!
54
55Fan management
56--------------
57
58Not all cards have a drivable fan. If you do, then the following HWMON
59attributes should be available:
60
61 * pwm1_enable:
62	Current fan management mode (NONE, MANUAL or AUTO);
63 * pwm1:
64	Current PWM value (power percentage);
65 * pwm1_min:
66	The minimum PWM speed allowed;
67 * pwm1_max:
68	The maximum PWM speed allowed (bypassed when hitting Fan_boost);
69
70You may also have the following attribute:
71
72 * fan1_input:
73	Speed in RPM of your fan.
74
75Your fan can be driven in different modes:
76
77 * 0: The fan is left untouched;
78 * 1: The fan can be driven in manual (use pwm1 to change the speed);
79 * 2; The fan is driven automatically depending on the temperature.
80
81NOTE:
82  Be sure to use the manual mode if you want to drive the fan speed manually
83
84NOTE2:
85  When operating in manual mode outside the vbios-defined
86  [PWM_min, PWM_max] range, the reported fan speed (RPM) may not be accurate
87  depending on your hardware.
88
89Bug reports
90-----------
91
92Thermal management on Nouveau is new and may not work on all cards. If you have
93inquiries, please ping mupuf on IRC (#nouveau, freenode).
94
95Bug reports should be filled on Freedesktop's bug tracker. Please follow
96https://nouveau.freedesktop.org/wiki/Bugs
97