1 #ifndef __GF100_FIFO_H__ 2 #define __GF100_FIFO_H__ 3 #define gf100_fifo(p) container_of((p), struct gf100_fifo, base) 4 #include "priv.h" 5 6 #include <subdev/mmu.h> 7 8 struct gf100_fifo_chan; 9 struct gf100_fifo { 10 struct nvkm_fifo base; 11 12 struct list_head chan; 13 14 struct { 15 struct work_struct work; 16 u64 mask; 17 } recover; 18 19 int pbdma_nr; 20 21 struct { 22 struct nvkm_memory *mem[2]; 23 int active; 24 wait_queue_head_t wait; 25 } runlist; 26 27 struct { 28 struct nvkm_memory *mem; 29 struct nvkm_vma bar; 30 } user; 31 }; 32 33 void gf100_fifo_intr_engine(struct gf100_fifo *); 34 void gf100_fifo_runlist_insert(struct gf100_fifo *, struct gf100_fifo_chan *); 35 void gf100_fifo_runlist_remove(struct gf100_fifo *, struct gf100_fifo_chan *); 36 void gf100_fifo_runlist_commit(struct gf100_fifo *); 37 #endif 38