perf.h 955 B

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