GNU Linux-libre 4.14.294-gnu1
[releases.git] / drivers / gpu / drm / nouveau / include / nvkm / engine / pm.h
1 /* SPDX-License-Identifier: GPL-2.0 */
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