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 7struct gk104_fifo_chan { 8 struct nvkm_fifo_chan base; 9 struct gk104_fifo *fifo; 10 int engine; 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 24int gk104_fifo_gpfifo_new(struct nvkm_fifo *, const struct nvkm_oclass *, 25 void *data, u32 size, struct nvkm_object **); 26 27extern const struct nvkm_fifo_chan_oclass gk104_fifo_gpfifo_oclass; 28extern const struct nvkm_fifo_chan_oclass gm204_fifo_gpfifo_oclass; 29#endif 30