Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: MIT */
0002 #ifndef __NVKM_PM_H__
0003 #define __NVKM_PM_H__
0004 #include <core/engine.h>
0005 
0006 struct nvkm_pm {
0007     const struct nvkm_pm_func *func;
0008     struct nvkm_engine engine;
0009 
0010     struct {
0011         spinlock_t lock;
0012         struct nvkm_object *object;
0013     } client;
0014 
0015     struct list_head domains;
0016     struct list_head sources;
0017     u32 sequence;
0018 };
0019 
0020 int nv40_pm_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_pm **);
0021 int nv50_pm_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_pm **);
0022 int g84_pm_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_pm **);
0023 int gt200_pm_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_pm **);
0024 int gt215_pm_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_pm **);
0025 int gf100_pm_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_pm **);
0026 int gf108_pm_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_pm **);
0027 int gf117_pm_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_pm **);
0028 int gk104_pm_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_pm **);
0029 #endif