forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-04 1543e317f1da31b75942316931e8f491a8920811
kernel/drivers/gpu/drm/nouveau/nvkm/engine/sec2/priv.h
....@@ -1,10 +1,30 @@
1
-/* SPDX-License-Identifier: GPL-2.0 */
1
+/* SPDX-License-Identifier: MIT */
22 #ifndef __NVKM_SEC2_PRIV_H__
33 #define __NVKM_SEC2_PRIV_H__
44 #include <engine/sec2.h>
55
6
-#define nvkm_sec2(p) container_of((p), struct nvkm_sec2, engine)
6
+struct nvkm_sec2_func {
7
+ const struct nvkm_falcon_func *flcn;
8
+ u8 unit_acr;
9
+ void (*intr)(struct nvkm_sec2 *);
10
+ int (*initmsg)(struct nvkm_sec2 *);
11
+};
712
8
-int nvkm_sec2_new_(struct nvkm_device *, int, struct nvkm_sec2 **);
13
+void gp102_sec2_intr(struct nvkm_sec2 *);
14
+int gp102_sec2_initmsg(struct nvkm_sec2 *);
915
16
+struct nvkm_sec2_fwif {
17
+ int version;
18
+ int (*load)(struct nvkm_sec2 *, int ver, const struct nvkm_sec2_fwif *);
19
+ const struct nvkm_sec2_func *func;
20
+ const struct nvkm_acr_lsf_func *acr;
21
+};
22
+
23
+int gp102_sec2_nofw(struct nvkm_sec2 *, int, const struct nvkm_sec2_fwif *);
24
+int gp102_sec2_load(struct nvkm_sec2 *, int, const struct nvkm_sec2_fwif *);
25
+extern const struct nvkm_sec2_func gp102_sec2;
26
+extern const struct nvkm_acr_lsf_func gp102_sec2_acr_1;
27
+
28
+int nvkm_sec2_new_(const struct nvkm_sec2_fwif *, struct nvkm_device *,
29
+ int, u32 addr, struct nvkm_sec2 **);
1030 #endif