• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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