1/*	$NetBSD: user.h,v 1.3 2021/12/18 23:45:35 riastradh Exp $	*/
2
3/* SPDX-License-Identifier: MIT */
4#ifndef __NVKM_DMA_USER_H__
5#define __NVKM_DMA_USER_H__
6#define nvkm_dmaobj(p) container_of((p), struct nvkm_dmaobj, object)
7#include "priv.h"
8
9int nvkm_dmaobj_ctor(const struct nvkm_dmaobj_func *, struct nvkm_dma *,
10		     const struct nvkm_oclass *, void **data, u32 *size,
11		     struct nvkm_dmaobj *);
12
13int nv04_dmaobj_new(struct nvkm_dma *, const struct nvkm_oclass *, void *, u32,
14		    struct nvkm_dmaobj **);
15int nv50_dmaobj_new(struct nvkm_dma *, const struct nvkm_oclass *, void *, u32,
16		    struct nvkm_dmaobj **);
17int gf100_dmaobj_new(struct nvkm_dma *, const struct nvkm_oclass *, void *, u32,
18		     struct nvkm_dmaobj **);
19int gf119_dmaobj_new(struct nvkm_dma *, const struct nvkm_oclass *, void *, u32,
20		     struct nvkm_dmaobj **);
21int gv100_dmaobj_new(struct nvkm_dma *, const struct nvkm_oclass *, void *, u32,
22		     struct nvkm_dmaobj **);
23#endif
24