cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

perf.h (990B)


      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#endif