1 #ifndef __NV50_FIFO_H__ 2 #define __NV50_FIFO_H__ 3 #include <engine/fifo.h> 4 5 struct nv50_fifo_priv { 6 struct nvkm_fifo base; 7 struct nvkm_gpuobj *playlist[2]; 8 int cur_playlist; 9 }; 10 11 struct nv50_fifo_base { 12 struct nvkm_fifo_base base; 13 struct nvkm_gpuobj *ramfc; 14 struct nvkm_gpuobj *cache; 15 struct nvkm_gpuobj *eng; 16 struct nvkm_gpuobj *pgd; 17 struct nvkm_vm *vm; 18 }; 19 20 struct nv50_fifo_chan { 21 struct nvkm_fifo_chan base; 22 u32 subc[8]; 23 struct nvkm_ramht *ramht; 24 }; 25 26 void nv50_fifo_playlist_update(struct nv50_fifo_priv *); 27 28 void nv50_fifo_object_detach(struct nvkm_object *, int); 29 void nv50_fifo_chan_dtor(struct nvkm_object *); 30 int nv50_fifo_chan_fini(struct nvkm_object *, bool); 31 32 void nv50_fifo_context_dtor(struct nvkm_object *); 33 34 void nv50_fifo_dtor(struct nvkm_object *); 35 int nv50_fifo_init(struct nvkm_object *); 36 #endif 37