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