1 /* SPDX-License-Identifier: MIT */
2 #ifndef __GF100_FIFO_CHAN_H__
3 #define __GF100_FIFO_CHAN_H__
4 #define gf100_fifo_chan(p) container_of((p), struct gf100_fifo_chan, base)
5 #include "chan.h"
6 #include "gf100.h"
7 
8 struct gf100_fifo_chan {
9 	struct nvkm_fifo_chan base;
10 	struct gf100_fifo *fifo;
11 
12 	struct list_head head;
13 	bool killed;
14 
15 #define GF100_FIFO_ENGN_GR     0
16 #define GF100_FIFO_ENGN_MSPDEC 1
17 #define GF100_FIFO_ENGN_MSPPP  2
18 #define GF100_FIFO_ENGN_MSVLD  3
19 #define GF100_FIFO_ENGN_CE0    4
20 #define GF100_FIFO_ENGN_CE1    5
21 #define GF100_FIFO_ENGN_SW     15
22 	struct gf100_fifo_engn {
23 		struct nvkm_gpuobj *inst;
24 		struct nvkm_vma *vma;
25 	} engn[NVKM_FIFO_ENGN_NR];
26 };
27 
28 extern const struct nvkm_fifo_chan_oclass gf100_fifo_gpfifo_oclass;
29 #endif
30