2014-08-10 04:10:24 +10:00
|
|
|
#ifndef __NVKM_DMAOBJ_PRIV_H__
|
|
|
|
|
#define __NVKM_DMAOBJ_PRIV_H__
|
|
|
|
|
#include <engine/dmaobj.h>
|
|
|
|
|
|
2014-08-10 04:10:24 +10:00
|
|
|
#define nvkm_dmaobj_create(p,e,c,pa,sa,d) \
|
|
|
|
|
nvkm_dmaobj_create_((p), (e), (c), (pa), (sa), sizeof(**d), (void **)d)
|
|
|
|
|
|
2015-01-14 15:27:54 +10:00
|
|
|
int nvkm_dmaobj_create_(struct nvkm_object *, struct nvkm_object *,
|
|
|
|
|
struct nvkm_oclass *, void **, u32 *,
|
2014-08-10 04:10:24 +10:00
|
|
|
int, void **);
|
2015-01-14 15:27:54 +10:00
|
|
|
#define _nvkm_dmaobj_dtor nvkm_object_destroy
|
|
|
|
|
#define _nvkm_dmaobj_init nvkm_object_init
|
|
|
|
|
#define _nvkm_dmaobj_fini nvkm_object_fini
|
2014-08-10 04:10:24 +10:00
|
|
|
|
2015-01-14 15:27:54 +10:00
|
|
|
int _nvkm_dmaeng_ctor(struct nvkm_object *, struct nvkm_object *,
|
|
|
|
|
struct nvkm_oclass *, void *, u32,
|
|
|
|
|
struct nvkm_object **);
|
|
|
|
|
#define _nvkm_dmaeng_dtor _nvkm_engine_dtor
|
|
|
|
|
#define _nvkm_dmaeng_init _nvkm_engine_init
|
|
|
|
|
#define _nvkm_dmaeng_fini _nvkm_engine_fini
|
2014-08-10 04:10:24 +10:00
|
|
|
|
|
|
|
|
struct nvkm_dmaeng_impl {
|
2015-01-14 15:27:54 +10:00
|
|
|
struct nvkm_oclass base;
|
|
|
|
|
struct nvkm_oclass *sclass;
|
|
|
|
|
int (*bind)(struct nvkm_dmaobj *, struct nvkm_object *,
|
|
|
|
|
struct nvkm_gpuobj **);
|
2014-08-10 04:10:24 +10:00
|
|
|
};
|
|
|
|
|
#endif
|