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