forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-11 04dd17822334871b23ea2862f7798fb0e0007777
kernel/drivers/gpu/drm/nouveau/include/nvkm/subdev/pmu.h
....@@ -1,14 +1,21 @@
1
-/* SPDX-License-Identifier: GPL-2.0 */
1
+/* SPDX-License-Identifier: MIT */
22 #ifndef __NVKM_PMU_H__
33 #define __NVKM_PMU_H__
44 #include <core/subdev.h>
5
-#include <engine/falcon.h>
5
+#include <core/falcon.h>
66
77 struct nvkm_pmu {
88 const struct nvkm_pmu_func *func;
99 struct nvkm_subdev subdev;
10
- struct nvkm_falcon *falcon;
11
- struct nvkm_msgqueue *queue;
10
+ struct nvkm_falcon falcon;
11
+
12
+ struct nvkm_falcon_qmgr *qmgr;
13
+ struct nvkm_falcon_cmdq *hpq;
14
+ struct nvkm_falcon_cmdq *lpq;
15
+ struct nvkm_falcon_msgq *msgq;
16
+ bool initmsg_received;
17
+
18
+ struct completion wpr_ready;
1219
1320 struct {
1421 u32 base;
....@@ -30,6 +37,7 @@
3037 int nvkm_pmu_send(struct nvkm_pmu *, u32 reply[2], u32 process,
3138 u32 message, u32 data0, u32 data1);
3239 void nvkm_pmu_pgob(struct nvkm_pmu *, bool enable);
40
+bool nvkm_pmu_fan_controlled(struct nvkm_device *);
3341
3442 int gt215_pmu_new(struct nvkm_device *, int, struct nvkm_pmu **);
3543 int gf100_pmu_new(struct nvkm_device *, int, struct nvkm_pmu **);
....@@ -39,9 +47,10 @@
3947 int gk208_pmu_new(struct nvkm_device *, int, struct nvkm_pmu **);
4048 int gk20a_pmu_new(struct nvkm_device *, int, struct nvkm_pmu **);
4149 int gm107_pmu_new(struct nvkm_device *, int, struct nvkm_pmu **);
50
+int gm200_pmu_new(struct nvkm_device *, int, struct nvkm_pmu **);
4251 int gm20b_pmu_new(struct nvkm_device *, int, struct nvkm_pmu **);
43
-int gp100_pmu_new(struct nvkm_device *, int, struct nvkm_pmu **);
4452 int gp102_pmu_new(struct nvkm_device *, int, struct nvkm_pmu **);
53
+int gp10b_pmu_new(struct nvkm_device *, int, struct nvkm_pmu **);
4554
4655 /* interface to MEMX process running on PMU */
4756 struct nvkm_memx;