#ifndef __NVKM_PM_H__ #define __NVKM_PM_H__ #include struct nvkm_perfdom; struct nvkm_perfctr; struct nvkm_pm { struct nvkm_engine base; struct nvkm_perfctx *context; void *profile_data; struct list_head domains; u32 sequence; /*XXX: temp for daemon backend */ u32 pwr[8]; u32 last; }; static inline struct nvkm_pm * nvkm_pm(void *obj) { return (void *)nvkm_engine(obj, NVDEV_ENGINE_PM); } extern struct nvkm_oclass *nv40_pm_oclass; extern struct nvkm_oclass *nv50_pm_oclass; extern struct nvkm_oclass *g84_pm_oclass; extern struct nvkm_oclass *gt215_pm_oclass; extern struct nvkm_oclass gf100_pm_oclass; extern struct nvkm_oclass gk104_pm_oclass; extern struct nvkm_oclass gk110_pm_oclass; #endif