• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef __GK104_FIFO_CHAN_H__
2 #define __GK104_FIFO_CHAN_H__
3 #define gk104_fifo_chan(p) container_of((p), struct gk104_fifo_chan, base)
4 #include "chan.h"
5 #include "gk104.h"
6 
7 struct gk104_fifo_chan {
8 	struct nvkm_fifo_chan base;
9 	struct gk104_fifo *fifo;
10 	int runl;
11 
12 	struct list_head head;
13 	bool killed;
14 
15 	struct nvkm_gpuobj *pgd;
16 	struct nvkm_vm *vm;
17 
18 	struct {
19 		struct nvkm_gpuobj *inst;
20 		struct nvkm_vma vma;
21 	} engn[NVKM_SUBDEV_NR];
22 };
23 
24 int gk104_fifo_gpfifo_new(struct nvkm_fifo *, const struct nvkm_oclass *,
25 			  void *data, u32 size, struct nvkm_object **);
26 
27 extern const struct nvkm_fifo_chan_oclass gk104_fifo_gpfifo_oclass;
28 extern const struct nvkm_fifo_chan_oclass gk110_fifo_gpfifo_oclass;
29 extern const struct nvkm_fifo_chan_oclass gm200_fifo_gpfifo_oclass;
30 extern const struct nvkm_fifo_chan_oclass gp100_fifo_gpfifo_oclass;
31 #endif
32