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 }; 17 18 u16 nvbios_perf_entry(struct nvkm_bios *, int idx, 19 u8 *ver, u8 *hdr, u8 *cnt, u8 *len); 20 u16 nvbios_perfEp(struct nvkm_bios *, int idx, 21 u8 *ver, u8 *hdr, u8 *cnt, u8 *len, struct nvbios_perfE *); 22 23 struct nvbios_perfS { 24 union { 25 struct { 26 u32 freq; 27 } v40; 28 }; 29 }; 30 31 u32 nvbios_perfSe(struct nvkm_bios *, u32 data, int idx, 32 u8 *ver, u8 *hdr, u8 cnt, u8 len); 33 u32 nvbios_perfSp(struct nvkm_bios *, u32 data, int idx, 34 u8 *ver, u8 *hdr, u8 cnt, u8 len, struct nvbios_perfS *); 35 36 struct nvbios_perf_fan { 37 u32 pwm_divisor; 38 }; 39 40 int nvbios_perf_fan_parse(struct nvkm_bios *, struct nvbios_perf_fan *); 41 #endif 42