1 #ifndef __NVKM_PM_H__ 2 #define __NVKM_PM_H__ 3 #include <core/engine.h> 4 5 struct nvkm_perfdom; 6 struct nvkm_perfctr; 7 struct nvkm_pm { 8 struct nvkm_engine base; 9 10 struct nvkm_perfctx *context; 11 void *profile_data; 12 13 struct list_head domains; 14 struct list_head sources; 15 u32 sequence; 16 }; 17 18 static inline struct nvkm_pm * 19 nvkm_pm(void *obj) 20 { 21 return (void *)nvkm_engine(obj, NVDEV_ENGINE_PM); 22 } 23 24 extern struct nvkm_oclass *nv40_pm_oclass; 25 extern struct nvkm_oclass *nv50_pm_oclass; 26 extern struct nvkm_oclass *g84_pm_oclass; 27 extern struct nvkm_oclass *gt200_pm_oclass; 28 extern struct nvkm_oclass *gt215_pm_oclass; 29 extern struct nvkm_oclass *gf100_pm_oclass; 30 extern struct nvkm_oclass *gf108_pm_oclass; 31 extern struct nvkm_oclass *gf117_pm_oclass; 32 extern struct nvkm_oclass *gk104_pm_oclass; 33 extern struct nvkm_oclass gk110_pm_oclass; 34 #endif 35