1 #ifndef __NVKM_PM_H__
2 #define __NVKM_PM_H__
3 #define nvkm_pm(p) container_of((p), struct nvkm_pm, engine)
4 #include <core/engine.h>
5 
6 struct nvkm_perfdom;
7 struct nvkm_perfctr;
8 struct nvkm_pm {
9 	struct nvkm_engine engine;
10 
11 	struct nvkm_object *perfmon;
12 
13 	struct list_head domains;
14 	struct list_head sources;
15 	u32 sequence;
16 };
17 
18 extern struct nvkm_oclass *nv40_pm_oclass;
19 extern struct nvkm_oclass *nv50_pm_oclass;
20 extern struct nvkm_oclass *g84_pm_oclass;
21 extern struct nvkm_oclass *gt200_pm_oclass;
22 extern struct nvkm_oclass *gt215_pm_oclass;
23 extern struct nvkm_oclass *gf100_pm_oclass;
24 extern struct nvkm_oclass *gf108_pm_oclass;
25 extern struct nvkm_oclass *gf117_pm_oclass;
26 extern struct nvkm_oclass *gk104_pm_oclass;
27 extern struct nvkm_oclass gk110_pm_oclass;
28 #endif
29