1 /* SPDX-License-Identifier: MIT */ 2 #ifndef __NVKM_PM_H__ 3 #define __NVKM_PM_H__ 4 #include <core/engine.h> 5 6 struct 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 17 int nv40_pm_new(struct nvkm_device *, int, struct nvkm_pm **); 18 int nv50_pm_new(struct nvkm_device *, int, struct nvkm_pm **); 19 int g84_pm_new(struct nvkm_device *, int, struct nvkm_pm **); 20 int gt200_pm_new(struct nvkm_device *, int, struct nvkm_pm **); 21 int gt215_pm_new(struct nvkm_device *, int, struct nvkm_pm **); 22 int gf100_pm_new(struct nvkm_device *, int, struct nvkm_pm **); 23 int gf108_pm_new(struct nvkm_device *, int, struct nvkm_pm **); 24 int gf117_pm_new(struct nvkm_device *, int, struct nvkm_pm **); 25 int gk104_pm_new(struct nvkm_device *, int, struct nvkm_pm **); 26 #endif 27