1 /* SPDX-License-Identifier: MIT */
2 #ifndef __NV50_FIFO_H__
3 #define __NV50_FIFO_H__
4 #define nv50_fifo(p) container_of((p), struct nv50_fifo, base)
5 #include "priv.h"
6 
7 struct nv50_fifo {
8 	struct nvkm_fifo base;
9 	struct nvkm_memory *runlist[2];
10 	int cur_runlist;
11 };
12 
13 int nv50_fifo_new_(const struct nvkm_fifo_func *, struct nvkm_device *, enum nvkm_subdev_type, int,
14 		   struct nvkm_fifo **);
15 
16 void *nv50_fifo_dtor(struct nvkm_fifo *);
17 int nv50_fifo_oneinit(struct nvkm_fifo *);
18 void nv50_fifo_init(struct nvkm_fifo *);
19 void nv50_fifo_runlist_update(struct nv50_fifo *);
20 #endif
21