Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / gpu / drm / nouveau / nvkm / engine / dmaobj / priv.h
1 #ifndef __NVKM_DMAOBJ_PRIV_H__
2 #define __NVKM_DMAOBJ_PRIV_H__
3 #include <engine/dmaobj.h>
4
5 #define nvkm_dmaobj_create(p,e,c,pa,sa,d)                                      \
6         nvkm_dmaobj_create_((p), (e), (c), (pa), (sa), sizeof(**d), (void **)d)
7
8 int nvkm_dmaobj_create_(struct nvkm_object *, struct nvkm_object *,
9                         struct nvkm_oclass *, void **, u32 *,
10                         int, void **);
11 #define _nvkm_dmaobj_dtor nvkm_object_destroy
12 #define _nvkm_dmaobj_init nvkm_object_init
13 #define _nvkm_dmaobj_fini nvkm_object_fini
14
15 int _nvkm_dmaeng_ctor(struct nvkm_object *, struct nvkm_object *,
16                       struct nvkm_oclass *, void *, u32,
17                       struct nvkm_object **);
18 #define _nvkm_dmaeng_dtor _nvkm_engine_dtor
19 #define _nvkm_dmaeng_init _nvkm_engine_init
20 #define _nvkm_dmaeng_fini _nvkm_engine_fini
21
22 struct nvkm_dmaeng_impl {
23         struct nvkm_oclass base;
24         struct nvkm_oclass *sclass;
25         int (*bind)(struct nvkm_dmaobj *, struct nvkm_object *,
26                     struct nvkm_gpuobj **);
27 };
28 #endif