1 /* SPDX-License-Identifier: MIT */
2 #ifndef __NV04_FIFO_H__
3 #define __NV04_FIFO_H__
4 #define nv04_fifo(p) container_of((p), struct nv04_fifo, base)
5 #include "priv.h"
6 
7 struct nv04_fifo_ramfc {
8 	unsigned bits:6;
9 	unsigned ctxs:5;
10 	unsigned ctxp:8;
11 	unsigned regs:5;
12 	unsigned regp;
13 };
14 
15 struct nv04_fifo {
16 	struct nvkm_fifo base;
17 	const struct nv04_fifo_ramfc *ramfc;
18 };
19 
20 int nv04_fifo_new_(const struct nvkm_fifo_func *, struct nvkm_device *, enum nvkm_subdev_type, int,
21 		   int nr, const struct nv04_fifo_ramfc *, struct nvkm_fifo **);
22 void nv04_fifo_init(struct nvkm_fifo *);
23 #endif
24