]>
Commit | Line | Data |
---|---|---|
7d70e9c1 MP |
1 | #ifndef __NVBIOS_THERM_H__ |
2 | #define __NVBIOS_THERM_H__ | |
3 | ||
4 | struct nouveau_bios; | |
5 | ||
6 | struct nvbios_therm_threshold { | |
7 | u8 temp; | |
8 | u8 hysteresis; | |
9 | }; | |
10 | ||
11 | struct nvbios_therm_sensor { | |
12 | /* diode */ | |
13 | s16 slope_mult; | |
14 | s16 slope_div; | |
15 | s16 offset_num; | |
16 | s16 offset_den; | |
17 | s8 offset_constant; | |
18 | ||
19 | /* thresholds */ | |
20 | struct nvbios_therm_threshold thrs_fan_boost; | |
21 | struct nvbios_therm_threshold thrs_down_clock; | |
22 | struct nvbios_therm_threshold thrs_critical; | |
23 | struct nvbios_therm_threshold thrs_shutdown; | |
24 | }; | |
25 | ||
26 | struct nvbios_therm_fan { | |
27 | u16 pwm_freq; | |
28 | ||
29 | u8 min_duty; | |
30 | u8 max_duty; | |
31 | }; | |
32 | ||
33 | enum nvbios_therm_domain { | |
34 | NVBIOS_THERM_DOMAIN_CORE, | |
35 | NVBIOS_THERM_DOMAIN_AMBIENT, | |
36 | }; | |
37 | ||
38 | int | |
39 | nvbios_therm_sensor_parse(struct nouveau_bios *, enum nvbios_therm_domain, | |
40 | struct nvbios_therm_sensor *); | |
41 | ||
42 | int | |
43 | nvbios_therm_fan_parse(struct nouveau_bios *, struct nvbios_therm_fan *); | |
44 | ||
45 | ||
46 | #endif |