.. | .. |
---|
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__ |
---|
4 | 4 | #define nvkm_falcon(p) container_of((p), struct nvkm_falcon, engine) |
---|
5 | 5 | #include <core/engine.h> |
---|
6 | 6 | struct nvkm_fifo_chan; |
---|
.. | .. |
---|
23 | 23 | |
---|
24 | 24 | struct mutex mutex; |
---|
25 | 25 | struct mutex dmem_mutex; |
---|
| 26 | + bool oneinit; |
---|
| 27 | + |
---|
26 | 28 | const struct nvkm_subdev *user; |
---|
27 | 29 | |
---|
28 | 30 | u8 version; |
---|
29 | 31 | u8 secret; |
---|
30 | 32 | bool debug; |
---|
31 | | - bool has_emem; |
---|
32 | 33 | |
---|
33 | 34 | struct nvkm_memory *core; |
---|
34 | 35 | bool external; |
---|
.. | .. |
---|
76 | 77 | } data; |
---|
77 | 78 | void (*init)(struct nvkm_falcon *); |
---|
78 | 79 | void (*intr)(struct nvkm_falcon *, struct nvkm_fifo_chan *); |
---|
| 80 | + |
---|
| 81 | + u32 debug; |
---|
| 82 | + u32 fbif; |
---|
| 83 | + |
---|
79 | 84 | void (*load_imem)(struct nvkm_falcon *, void *, u32, u32, u16, u8, bool); |
---|
80 | 85 | void (*load_dmem)(struct nvkm_falcon *, void *, u32, u32, u8); |
---|
81 | 86 | void (*read_dmem)(struct nvkm_falcon *, u32, u32, u8, void *); |
---|
| 87 | + u32 emem_addr; |
---|
82 | 88 | void (*bind_context)(struct nvkm_falcon *, struct nvkm_memory *); |
---|
83 | 89 | int (*wait_for_halt)(struct nvkm_falcon *, u32); |
---|
84 | 90 | int (*clear_interrupt)(struct nvkm_falcon *, u32); |
---|
.. | .. |
---|
86 | 92 | void (*start)(struct nvkm_falcon *); |
---|
87 | 93 | int (*enable)(struct nvkm_falcon *falcon); |
---|
88 | 94 | 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; |
---|
89 | 102 | |
---|
90 | 103 | struct nvkm_sclass sclass[]; |
---|
91 | 104 | }; |
---|
.. | .. |
---|
122 | 135 | int nvkm_falcon_enable(struct nvkm_falcon *); |
---|
123 | 136 | void nvkm_falcon_disable(struct nvkm_falcon *); |
---|
124 | 137 | int nvkm_falcon_reset(struct nvkm_falcon *); |
---|
125 | | - |
---|
126 | 138 | #endif |
---|