forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-11 04dd17822334871b23ea2862f7798fb0e0007777
kernel/drivers/gpu/drm/nouveau/include/nvkm/core/device.h
....@@ -1,4 +1,4 @@
1
-/* SPDX-License-Identifier: GPL-2.0 */
1
+/* SPDX-License-Identifier: MIT */
22 #ifndef __NVKM_DEVICE_H__
33 #define __NVKM_DEVICE_H__
44 #include <core/oclass.h>
....@@ -23,12 +23,13 @@
2323 NVKM_SUBDEV_MMU,
2424 NVKM_SUBDEV_BAR,
2525 NVKM_SUBDEV_FAULT,
26
+ NVKM_SUBDEV_ACR,
2627 NVKM_SUBDEV_PMU,
2728 NVKM_SUBDEV_VOLT,
2829 NVKM_SUBDEV_ICCSENSE,
2930 NVKM_SUBDEV_THERM,
3031 NVKM_SUBDEV_CLK,
31
- NVKM_SUBDEV_SECBOOT,
32
+ NVKM_SUBDEV_GSP,
3233
3334 NVKM_ENGINE_BSP,
3435
....@@ -61,7 +62,11 @@
6162 NVKM_ENGINE_NVENC2,
6263 NVKM_ENGINE_NVENC_LAST = NVKM_ENGINE_NVENC2,
6364
64
- NVKM_ENGINE_NVDEC,
65
+ NVKM_ENGINE_NVDEC0,
66
+ NVKM_ENGINE_NVDEC1,
67
+ NVKM_ENGINE_NVDEC2,
68
+ NVKM_ENGINE_NVDEC_LAST = NVKM_ENGINE_NVDEC2,
69
+
6570 NVKM_ENGINE_PM,
6671 NVKM_ENGINE_SEC,
6772 NVKM_ENGINE_SEC2,
....@@ -114,6 +119,7 @@
114119 GM100 = 0x110,
115120 GP100 = 0x130,
116121 GV100 = 0x140,
122
+ TU100 = 0x160,
117123 } card_type;
118124 u32 chipset;
119125 u8 chiprev;
....@@ -123,6 +129,7 @@
123129 struct notifier_block nb;
124130 } acpi;
125131
132
+ struct nvkm_acr *acr;
126133 struct nvkm_bar *bar;
127134 struct nvkm_bios *bios;
128135 struct nvkm_bus *bus;
....@@ -132,6 +139,7 @@
132139 struct nvkm_fb *fb;
133140 struct nvkm_fuse *fuse;
134141 struct nvkm_gpio *gpio;
142
+ struct nvkm_gsp *gsp;
135143 struct nvkm_i2c *i2c;
136144 struct nvkm_subdev *ibus;
137145 struct nvkm_iccsense *iccsense;
....@@ -142,7 +150,6 @@
142150 struct nvkm_subdev *mxm;
143151 struct nvkm_pci *pci;
144152 struct nvkm_pmu *pmu;
145
- struct nvkm_secboot *secboot;
146153 struct nvkm_therm *therm;
147154 struct nvkm_timer *timer;
148155 struct nvkm_top *top;
....@@ -162,8 +169,8 @@
162169 struct nvkm_engine *mspdec;
163170 struct nvkm_engine *msppp;
164171 struct nvkm_engine *msvld;
165
- struct nvkm_engine *nvenc[3];
166
- struct nvkm_nvdec *nvdec;
172
+ struct nvkm_nvenc *nvenc[3];
173
+ struct nvkm_nvdec *nvdec[3];
167174 struct nvkm_pm *pm;
168175 struct nvkm_engine *sec;
169176 struct nvkm_sec2 *sec2;
....@@ -195,6 +202,7 @@
195202 struct nvkm_device_chip {
196203 const char *name;
197204
205
+ int (*acr )(struct nvkm_device *, int idx, struct nvkm_acr **);
198206 int (*bar )(struct nvkm_device *, int idx, struct nvkm_bar **);
199207 int (*bios )(struct nvkm_device *, int idx, struct nvkm_bios **);
200208 int (*bus )(struct nvkm_device *, int idx, struct nvkm_bus **);
....@@ -204,6 +212,7 @@
204212 int (*fb )(struct nvkm_device *, int idx, struct nvkm_fb **);
205213 int (*fuse )(struct nvkm_device *, int idx, struct nvkm_fuse **);
206214 int (*gpio )(struct nvkm_device *, int idx, struct nvkm_gpio **);
215
+ int (*gsp )(struct nvkm_device *, int idx, struct nvkm_gsp **);
207216 int (*i2c )(struct nvkm_device *, int idx, struct nvkm_i2c **);
208217 int (*ibus )(struct nvkm_device *, int idx, struct nvkm_subdev **);
209218 int (*iccsense)(struct nvkm_device *, int idx, struct nvkm_iccsense **);
....@@ -214,7 +223,6 @@
214223 int (*mxm )(struct nvkm_device *, int idx, struct nvkm_subdev **);
215224 int (*pci )(struct nvkm_device *, int idx, struct nvkm_pci **);
216225 int (*pmu )(struct nvkm_device *, int idx, struct nvkm_pmu **);
217
- int (*secboot )(struct nvkm_device *, int idx, struct nvkm_secboot **);
218226 int (*therm )(struct nvkm_device *, int idx, struct nvkm_therm **);
219227 int (*timer )(struct nvkm_device *, int idx, struct nvkm_timer **);
220228 int (*top )(struct nvkm_device *, int idx, struct nvkm_top **);
....@@ -234,8 +242,8 @@
234242 int (*mspdec )(struct nvkm_device *, int idx, struct nvkm_engine **);
235243 int (*msppp )(struct nvkm_device *, int idx, struct nvkm_engine **);
236244 int (*msvld )(struct nvkm_device *, int idx, struct nvkm_engine **);
237
- int (*nvenc[3])(struct nvkm_device *, int idx, struct nvkm_engine **);
238
- int (*nvdec )(struct nvkm_device *, int idx, struct nvkm_nvdec **);
245
+ int (*nvenc[3])(struct nvkm_device *, int idx, struct nvkm_nvenc **);
246
+ int (*nvdec[3])(struct nvkm_device *, int idx, struct nvkm_nvdec **);
239247 int (*pm )(struct nvkm_device *, int idx, struct nvkm_pm **);
240248 int (*sec )(struct nvkm_device *, int idx, struct nvkm_engine **);
241249 int (*sec2 )(struct nvkm_device *, int idx, struct nvkm_sec2 **);