forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-11 04dd17822334871b23ea2862f7798fb0e0007777
kernel/drivers/gpu/drm/nouveau/include/nvkm/engine/falcon.h
....@@ -1,6 +1,6 @@
1
-/* SPDX-License-Identifier: GPL-2.0 */
2
-#ifndef __NVKM_FALCON_H__
3
-#define __NVKM_FALCON_H__
1
+/* SPDX-License-Identifier: MIT */
2
+#ifndef __NVKM_FLCNEN_H__
3
+#define __NVKM_FLCNEN_H__
44 #define nvkm_falcon(p) container_of((p), struct nvkm_falcon, engine)
55 #include <core/engine.h>
66 struct nvkm_fifo_chan;
....@@ -23,12 +23,13 @@
2323
2424 struct mutex mutex;
2525 struct mutex dmem_mutex;
26
+ bool oneinit;
27
+
2628 const struct nvkm_subdev *user;
2729
2830 u8 version;
2931 u8 secret;
3032 bool debug;
31
- bool has_emem;
3233
3334 struct nvkm_memory *core;
3435 bool external;
....@@ -76,9 +77,14 @@
7677 } data;
7778 void (*init)(struct nvkm_falcon *);
7879 void (*intr)(struct nvkm_falcon *, struct nvkm_fifo_chan *);
80
+
81
+ u32 debug;
82
+ u32 fbif;
83
+
7984 void (*load_imem)(struct nvkm_falcon *, void *, u32, u32, u16, u8, bool);
8085 void (*load_dmem)(struct nvkm_falcon *, void *, u32, u32, u8);
8186 void (*read_dmem)(struct nvkm_falcon *, u32, u32, u8, void *);
87
+ u32 emem_addr;
8288 void (*bind_context)(struct nvkm_falcon *, struct nvkm_memory *);
8389 int (*wait_for_halt)(struct nvkm_falcon *, u32);
8490 int (*clear_interrupt)(struct nvkm_falcon *, u32);
....@@ -86,6 +92,13 @@
8692 void (*start)(struct nvkm_falcon *);
8793 int (*enable)(struct nvkm_falcon *falcon);
8894 void (*disable)(struct nvkm_falcon *falcon);
95
+ int (*reset)(struct nvkm_falcon *);
96
+
97
+ struct {
98
+ u32 head;
99
+ u32 tail;
100
+ u32 stride;
101
+ } cmdq, msgq;
89102
90103 struct nvkm_sclass sclass[];
91104 };
....@@ -122,5 +135,4 @@
122135 int nvkm_falcon_enable(struct nvkm_falcon *);
123136 void nvkm_falcon_disable(struct nvkm_falcon *);
124137 int nvkm_falcon_reset(struct nvkm_falcon *);
125
-
126138 #endif