]> git.ipfire.org Git - people/arne_f/kernel.git/blob - drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/perf.h
Merge tag 'regulator-v4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
[people/arne_f/kernel.git] / drivers / gpu / drm / nouveau / include / nvkm / subdev / bios / perf.h
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
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 u8 pcie_speed;
17 u8 pcie_width;
18 };
19
20 u32 nvbios_perf_entry(struct nvkm_bios *, int idx,
21 u8 *ver, u8 *hdr, u8 *cnt, u8 *len);
22 u32 nvbios_perfEp(struct nvkm_bios *, int idx,
23 u8 *ver, u8 *hdr, u8 *cnt, u8 *len, struct nvbios_perfE *);
24
25 struct nvbios_perfS {
26 union {
27 struct {
28 u32 freq;
29 } v40;
30 };
31 };
32
33 u32 nvbios_perfSe(struct nvkm_bios *, u32 data, int idx,
34 u8 *ver, u8 *hdr, u8 cnt, u8 len);
35 u32 nvbios_perfSp(struct nvkm_bios *, u32 data, int idx,
36 u8 *ver, u8 *hdr, u8 cnt, u8 len, struct nvbios_perfS *);
37
38 struct nvbios_perf_fan {
39 u32 pwm_divisor;
40 };
41
42 int nvbios_perf_fan_parse(struct nvkm_bios *, struct nvbios_perf_fan *);
43 #endif