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