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