2015-01-14 15:27:54 +10:00
|
|
|
#ifndef __NVKM_DMAOBJ_H__
|
|
|
|
|
#define __NVKM_DMAOBJ_H__
|
2012-07-20 08:17:34 +10:00
|
|
|
#include <core/engine.h>
|
2015-01-14 15:27:54 +10:00
|
|
|
struct nvkm_gpuobj;
|
2012-07-20 08:17:34 +10:00
|
|
|
|
2015-01-14 15:27:54 +10:00
|
|
|
struct nvkm_dmaobj {
|
|
|
|
|
struct nvkm_object base;
|
2012-07-20 08:17:34 +10:00
|
|
|
u32 target;
|
|
|
|
|
u32 access;
|
|
|
|
|
u64 start;
|
|
|
|
|
u64 limit;
|
|
|
|
|
};
|
|
|
|
|
|
2015-01-14 15:27:54 +10:00
|
|
|
struct nvkm_dmaeng {
|
|
|
|
|
struct nvkm_engine base;
|
2012-10-08 12:58:23 +10:00
|
|
|
|
2015-01-14 15:27:54 +10: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 08:17:34 +10:00
|
|
|
};
|
|
|
|
|
|
2015-01-14 15:27:54 +10: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 08:17:34 +10:00
|
|
|
#endif
|