1
2#ifndef __NVKM_PM_H__
3#define __NVKM_PM_H__
4#include <core/engine.h>
5
6struct nvkm_pm {
7 const struct nvkm_pm_func *func;
8 struct nvkm_engine engine;
9
10 struct nvkm_object *perfmon;
11
12 struct list_head domains;
13 struct list_head sources;
14 u32 sequence;
15};
16
17int nv40_pm_new(struct nvkm_device *, int, struct nvkm_pm **);
18int nv50_pm_new(struct nvkm_device *, int, struct nvkm_pm **);
19int g84_pm_new(struct nvkm_device *, int, struct nvkm_pm **);
20int gt200_pm_new(struct nvkm_device *, int, struct nvkm_pm **);
21int gt215_pm_new(struct nvkm_device *, int, struct nvkm_pm **);
22int gf100_pm_new(struct nvkm_device *, int, struct nvkm_pm **);
23int gf108_pm_new(struct nvkm_device *, int, struct nvkm_pm **);
24int gf117_pm_new(struct nvkm_device *, int, struct nvkm_pm **);
25int gk104_pm_new(struct nvkm_device *, int, struct nvkm_pm **);
26#endif
27