1 | #ifndef __NVBIOS_PERF_H__ |
2 | #define __NVBIOS_PERF_H__ |
3 | |
4 | struct nouveau_bios; |
5 | |
6 | u16 nvbios_perf_table(struct nouveau_bios *, u8 *ver, u8 *hdr, |
7 | u8 *cnt, u8 *len, u8 *snr, u8 *ssz); |
8 | |
9 | struct nvbios_perfE { |
10 | u8 pstate; |
11 | u8 fanspeed; |
12 | u8 voltage; |
13 | u32 core; |
14 | u32 shader; |
15 | u32 memory; |
16 | u32 vdec; |
17 | u32 disp; |
18 | u32 script; |
19 | }; |
20 | |
21 | u16 nvbios_perf_entry(struct nouveau_bios *, int idx, |
22 | u8 *ver, u8 *hdr, u8 *cnt, u8 *len); |
23 | u16 nvbios_perfEp(struct nouveau_bios *, int idx, |
24 | u8 *ver, u8 *hdr, u8 *cnt, u8 *len, struct nvbios_perfE *); |
25 | |
26 | struct nvbios_perfS { |
27 | union { |
28 | struct { |
29 | u32 freq; |
30 | } v40; |
31 | }; |
32 | }; |
33 | |
34 | u32 nvbios_perfSe(struct nouveau_bios *, u32 data, int idx, |
35 | u8 *ver, u8 *hdr, u8 cnt, u8 len); |
36 | u32 nvbios_perfSp(struct nouveau_bios *, u32 data, int idx, |
37 | u8 *ver, u8 *hdr, u8 cnt, u8 len, struct nvbios_perfS *); |
38 | |
39 | struct nvbios_perf_fan { |
40 | u32 pwm_divisor; |
41 | }; |
42 | |
43 | int |
44 | nvbios_perf_fan_parse(struct nouveau_bios *, struct nvbios_perf_fan *); |
45 | |
46 | |
47 | #endif |
48 | |