]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
d46497dc MP |
2 | #ifndef __NVBIOS_PERF_H__ |
3 | #define __NVBIOS_PERF_H__ | |
8f6a5ab9 | 4 | u32 nvbios_perf_table(struct nvkm_bios *, u8 *ver, u8 *hdr, |
0833428e BS |
5 | u8 *cnt, u8 *len, u8 *snr, u8 *ssz); |
6 | ||
7 | struct nvbios_perfE { | |
8 | u8 pstate; | |
9 | u8 fanspeed; | |
10 | u8 voltage; | |
11 | u32 core; | |
12 | u32 shader; | |
13 | u32 memory; | |
14 | u32 vdec; | |
15 | u32 disp; | |
16 | u32 script; | |
c6e2f9bc KH |
17 | u8 pcie_speed; |
18 | u8 pcie_width; | |
0833428e BS |
19 | }; |
20 | ||
8f6a5ab9 | 21 | u32 nvbios_perf_entry(struct nvkm_bios *, int idx, |
0833428e | 22 | u8 *ver, u8 *hdr, u8 *cnt, u8 *len); |
8f6a5ab9 | 23 | u32 nvbios_perfEp(struct nvkm_bios *, int idx, |
0833428e BS |
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 | ||
d390b480 | 34 | u32 nvbios_perfSe(struct nvkm_bios *, u32 data, int idx, |
0833428e | 35 | u8 *ver, u8 *hdr, u8 cnt, u8 len); |
d390b480 | 36 | u32 nvbios_perfSp(struct nvkm_bios *, u32 data, int idx, |
0833428e BS |
37 | u8 *ver, u8 *hdr, u8 cnt, u8 len, struct nvbios_perfS *); |
38 | ||
d46497dc MP |
39 | struct nvbios_perf_fan { |
40 | u32 pwm_divisor; | |
41 | }; | |
42 | ||
d390b480 | 43 | int nvbios_perf_fan_parse(struct nvkm_bios *, struct nvbios_perf_fan *); |
d46497dc | 44 | #endif |