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