1 /* $NetBSD: pm.h,v 1.3 2021/12/18 23:45:33 riastradh Exp $ */ 2 3 /* SPDX-License-Identifier: MIT */ 4 #ifndef __NVKM_PM_H__ 5 #define __NVKM_PM_H__ 6 #include <core/engine.h> 7 8 struct nvkm_pm { 9 const struct nvkm_pm_func *func; 10 struct nvkm_engine engine; 11 12 struct nvkm_object *perfmon; 13 14 struct list_head domains; 15 struct list_head sources; 16 u32 sequence; 17 }; 18 19 int nv40_pm_new(struct nvkm_device *, int, struct nvkm_pm **); 20 int nv50_pm_new(struct nvkm_device *, int, struct nvkm_pm **); 21 int g84_pm_new(struct nvkm_device *, int, struct nvkm_pm **); 22 int gt200_pm_new(struct nvkm_device *, int, struct nvkm_pm **); 23 int gt215_pm_new(struct nvkm_device *, int, struct nvkm_pm **); 24 int gf100_pm_new(struct nvkm_device *, int, struct nvkm_pm **); 25 int gf108_pm_new(struct nvkm_device *, int, struct nvkm_pm **); 26 int gf117_pm_new(struct nvkm_device *, int, struct nvkm_pm **); 27 int gk104_pm_new(struct nvkm_device *, int, struct nvkm_pm **); 28 #endif 29