45 lines · c
1/* SPDX-License-Identifier: MIT */2#ifndef __NVBIOS_PERF_H__3#define __NVBIOS_PERF_H__4u32 nvbios_perf_table(struct nvkm_bios *, u8 *ver, u8 *hdr,5 u8 *cnt, u8 *len, u8 *snr, u8 *ssz);6 7struct 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;17 u8 pcie_speed;18 u8 pcie_width;19};20 21u32 nvbios_perf_entry(struct nvkm_bios *, int idx,22 u8 *ver, u8 *hdr, u8 *cnt, u8 *len);23u32 nvbios_perfEp(struct nvkm_bios *, int idx,24 u8 *ver, u8 *hdr, u8 *cnt, u8 *len, struct nvbios_perfE *);25 26struct nvbios_perfS {27 union {28 struct {29 u32 freq;30 } v40;31 };32};33 34u32 nvbios_perfSe(struct nvkm_bios *, u32 data, int idx,35 u8 *ver, u8 *hdr, u8 cnt, u8 len);36u32 nvbios_perfSp(struct nvkm_bios *, u32 data, int idx,37 u8 *ver, u8 *hdr, u8 cnt, u8 len, struct nvbios_perfS *);38 39struct nvbios_perf_fan {40 u32 pwm_divisor;41};42 43int nvbios_perf_fan_parse(struct nvkm_bios *, struct nvbios_perf_fan *);44#endif45