.. | .. |
---|
1 | | -/* SPDX-License-Identifier: GPL-2.0 */ |
---|
| 1 | +/* SPDX-License-Identifier: MIT */ |
---|
2 | 2 | #ifndef __NVKM_PMU_H__ |
---|
3 | 3 | #define __NVKM_PMU_H__ |
---|
4 | 4 | #include <core/subdev.h> |
---|
5 | | -#include <engine/falcon.h> |
---|
| 5 | +#include <core/falcon.h> |
---|
6 | 6 | |
---|
7 | 7 | struct nvkm_pmu { |
---|
8 | 8 | const struct nvkm_pmu_func *func; |
---|
9 | 9 | 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; |
---|
12 | 19 | |
---|
13 | 20 | struct { |
---|
14 | 21 | u32 base; |
---|
.. | .. |
---|
30 | 37 | int nvkm_pmu_send(struct nvkm_pmu *, u32 reply[2], u32 process, |
---|
31 | 38 | u32 message, u32 data0, u32 data1); |
---|
32 | 39 | void nvkm_pmu_pgob(struct nvkm_pmu *, bool enable); |
---|
| 40 | +bool nvkm_pmu_fan_controlled(struct nvkm_device *); |
---|
33 | 41 | |
---|
34 | 42 | int gt215_pmu_new(struct nvkm_device *, int, struct nvkm_pmu **); |
---|
35 | 43 | int gf100_pmu_new(struct nvkm_device *, int, struct nvkm_pmu **); |
---|
.. | .. |
---|
39 | 47 | int gk208_pmu_new(struct nvkm_device *, int, struct nvkm_pmu **); |
---|
40 | 48 | int gk20a_pmu_new(struct nvkm_device *, int, struct nvkm_pmu **); |
---|
41 | 49 | int gm107_pmu_new(struct nvkm_device *, int, struct nvkm_pmu **); |
---|
| 50 | +int gm200_pmu_new(struct nvkm_device *, int, struct nvkm_pmu **); |
---|
42 | 51 | int gm20b_pmu_new(struct nvkm_device *, int, struct nvkm_pmu **); |
---|
43 | | -int gp100_pmu_new(struct nvkm_device *, int, struct nvkm_pmu **); |
---|
44 | 52 | int gp102_pmu_new(struct nvkm_device *, int, struct nvkm_pmu **); |
---|
| 53 | +int gp10b_pmu_new(struct nvkm_device *, int, struct nvkm_pmu **); |
---|
45 | 54 | |
---|
46 | 55 | /* interface to MEMX process running on PMU */ |
---|
47 | 56 | struct nvkm_memx; |
---|