Commit | Line | Data |
---|---|---|
9a65a38c BS |
1 | #ifndef __GK104_FIFO_CHAN_H__ |
2 | #define __GK104_FIFO_CHAN_H__ | |
8f0649b5 | 3 | #define gk104_fifo_chan(p) container_of((p), struct gk104_fifo_chan, base) |
9a65a38c BS |
4 | #include "chan.h" |
5 | #include "gk104.h" | |
6 | ||
8f0649b5 BS |
7 | struct gk104_fifo_chan { |
8 | struct nvkm_fifo_chan base; | |
9 | struct gk104_fifo *fifo; | |
69aa40e2 | 10 | int runl; |
8f0649b5 BS |
11 | |
12 | struct list_head head; | |
13 | bool killed; | |
14 | ||
9a65a38c BS |
15 | struct nvkm_gpuobj *pgd; |
16 | struct nvkm_vm *vm; | |
9a65a38c | 17 | |
8f0649b5 BS |
18 | struct { |
19 | struct nvkm_gpuobj *inst; | |
20 | struct nvkm_vma vma; | |
68f3f702 | 21 | } engn[NVKM_SUBDEV_NR]; |
9a65a38c BS |
22 | }; |
23 | ||
8f0649b5 BS |
24 | int gk104_fifo_gpfifo_new(struct nvkm_fifo *, const struct nvkm_oclass *, |
25 | void *data, u32 size, struct nvkm_object **); | |
9a65a38c | 26 | |
8f0649b5 | 27 | extern const struct nvkm_fifo_chan_oclass gk104_fifo_gpfifo_oclass; |
63f8c9b7 | 28 | extern const struct nvkm_fifo_chan_oclass gk110_fifo_gpfifo_oclass; |
db1eb528 | 29 | extern const struct nvkm_fifo_chan_oclass gm200_fifo_gpfifo_oclass; |
9a65a38c | 30 | #endif |