xref: /netbsd-src/sys/external/bsd/drm2/dist/drm/nouveau/nvkm/engine/fifo/channv04.h (revision 41ec02673d281bbb3d38e6c78504ce6e30c228c1)
1 /*	$NetBSD: channv04.h,v 1.3 2021/12/18 23:45:35 riastradh Exp $	*/
2 
3 /* SPDX-License-Identifier: MIT */
4 #ifndef __NV04_FIFO_CHAN_H__
5 #define __NV04_FIFO_CHAN_H__
6 #define nv04_fifo_chan(p) container_of((p), struct nv04_fifo_chan, base)
7 #include "chan.h"
8 #include "nv04.h"
9 
10 struct nv04_fifo_chan {
11 	struct nvkm_fifo_chan base;
12 	struct nv04_fifo *fifo;
13 	u32 ramfc;
14 	struct nvkm_gpuobj *engn[NVKM_SUBDEV_NR];
15 };
16 
17 extern const struct nvkm_fifo_chan_func nv04_fifo_dma_func;
18 void *nv04_fifo_dma_dtor(struct nvkm_fifo_chan *);
19 void nv04_fifo_dma_init(struct nvkm_fifo_chan *);
20 void nv04_fifo_dma_fini(struct nvkm_fifo_chan *);
21 void nv04_fifo_dma_object_dtor(struct nvkm_fifo_chan *, int);
22 
23 extern const struct nvkm_fifo_chan_oclass nv04_fifo_dma_oclass;
24 extern const struct nvkm_fifo_chan_oclass nv10_fifo_dma_oclass;
25 extern const struct nvkm_fifo_chan_oclass nv17_fifo_dma_oclass;
26 extern const struct nvkm_fifo_chan_oclass nv40_fifo_dma_oclass;
27 #endif
28