Commit | Line | Data |
---|---|---|
9a65a38c BS |
1 | #ifndef __GF100_FIFO_H__ |
2 | #define __GF100_FIFO_H__ | |
8f0649b5 | 3 | #define gf100_fifo(p) container_of((p), struct gf100_fifo, base) |
9a65a38c BS |
4 | #include "priv.h" |
5 | ||
8f0649b5 BS |
6 | #include <subdev/mmu.h> |
7 | ||
d40d0fd4 | 8 | struct gf100_fifo_chan; |
9a65a38c BS |
9 | struct gf100_fifo { |
10 | struct nvkm_fifo base; | |
11 | ||
8f0649b5 BS |
12 | struct list_head chan; |
13 | ||
79266243 BS |
14 | struct { |
15 | struct work_struct work; | |
16 | u64 mask; | |
17 | } recover; | |
9a65a38c | 18 | |
adbe24a2 BS |
19 | int pbdma_nr; |
20 | ||
9a65a38c BS |
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; | |
9a65a38c BS |
31 | }; |
32 | ||
33 | void gf100_fifo_intr_engine(struct gf100_fifo *); | |
d40d0fd4 BS |
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 *); | |
9a65a38c | 37 | #endif |