1#ifndef __NVKM_DMAOBJ_H__
2#define __NVKM_DMAOBJ_H__
3#include <core/engine.h>
4struct nvkm_gpuobj;
5
6struct nvkm_dmaobj {
7	struct nvkm_object base;
8	u32 target;
9	u32 access;
10	u64 start;
11	u64 limit;
12};
13
14struct nvkm_dmaeng {
15	struct nvkm_engine base;
16
17	/* creates a "physical" dma object from a struct nvkm_dmaobj */
18	int (*bind)(struct nvkm_dmaobj *dmaobj, struct nvkm_object *parent,
19		    struct nvkm_gpuobj **);
20};
21
22extern struct nvkm_oclass *nv04_dmaeng_oclass;
23extern struct nvkm_oclass *nv50_dmaeng_oclass;
24extern struct nvkm_oclass *gf100_dmaeng_oclass;
25extern struct nvkm_oclass *gf110_dmaeng_oclass;
26#endif
27