2015-01-14 13:27:54 +08:00
|
|
|
#ifndef __NVKM_DMAOBJ_H__
|
|
|
|
#define __NVKM_DMAOBJ_H__
|
2012-07-20 06:17:34 +08:00
|
|
|
#include <core/engine.h>
|
2015-01-14 13:27:54 +08:00
|
|
|
struct nvkm_gpuobj;
|
2012-07-20 06:17:34 +08:00
|
|
|
|
2015-01-14 13:27:54 +08:00
|
|
|
struct nvkm_dmaobj {
|
|
|
|
struct nvkm_object base;
|
2012-07-20 06:17:34 +08:00
|
|
|
u32 target;
|
|
|
|
u32 access;
|
|
|
|
u64 start;
|
|
|
|
u64 limit;
|
|
|
|
};
|
|
|
|
|
2015-01-14 13:27:54 +08:00
|
|
|
struct nvkm_dmaeng {
|
|
|
|
struct nvkm_engine base;
|
2012-10-08 10:58:23 +08:00
|
|
|
|
2015-01-14 13:27:54 +08:00
|
|
|
/* creates a "physical" dma object from a struct nvkm_dmaobj */
|
|
|
|
int (*bind)(struct nvkm_dmaobj *dmaobj, struct nvkm_object *parent,
|
|
|
|
struct nvkm_gpuobj **);
|
2012-07-20 06:17:34 +08:00
|
|
|
};
|
|
|
|
|
2015-01-14 13:27:54 +08:00
|
|
|
extern struct nvkm_oclass *nv04_dmaeng_oclass;
|
|
|
|
extern struct nvkm_oclass *nv50_dmaeng_oclass;
|
|
|
|
extern struct nvkm_oclass *gf100_dmaeng_oclass;
|
|
|
|
extern struct nvkm_oclass *gf110_dmaeng_oclass;
|
2012-07-20 06:17:34 +08:00
|
|
|
#endif
|