Home | History | Annotate | Line # | Download | only in engine
      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