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