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