1#ifndef __NV50_FIFO_H__ 2#define __NV50_FIFO_H__ 3#include <engine/fifo.h> 4 5struct nv50_fifo_priv { 6 struct nvkm_fifo base; 7 struct nvkm_gpuobj *playlist[2]; 8 int cur_playlist; 9}; 10 11struct 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 20struct nv50_fifo_chan { 21 struct nvkm_fifo_chan base; 22 u32 subc[8]; 23 struct nvkm_ramht *ramht; 24}; 25 26void nv50_fifo_playlist_update(struct nv50_fifo_priv *); 27 28void nv50_fifo_object_detach(struct nvkm_object *, int); 29void nv50_fifo_chan_dtor(struct nvkm_object *); 30int nv50_fifo_chan_fini(struct nvkm_object *, bool); 31 32void nv50_fifo_context_dtor(struct nvkm_object *); 33 34void nv50_fifo_dtor(struct nvkm_object *); 35int nv50_fifo_init(struct nvkm_object *); 36#endif 37