drm/nouveau/dma: convert user classes to new-style nvkm_object
[firefly-linux-kernel-4.4.55.git] / drivers / gpu / drm / nouveau / nvkm / engine / dma / priv.h
1 #ifndef __NVKM_DMA_PRIV_H__
2 #define __NVKM_DMA_PRIV_H__
3 #define nvkm_dma(p) container_of((p), struct nvkm_dma, engine)
4 #include <engine/dma.h>
5
6 int _nvkm_dma_ctor(struct nvkm_object *, struct nvkm_object *,
7                       struct nvkm_oclass *, void *, u32,
8                       struct nvkm_object **);
9 #define _nvkm_dma_dtor _nvkm_engine_dtor
10 #define _nvkm_dma_init _nvkm_engine_init
11 #define _nvkm_dma_fini _nvkm_engine_fini
12
13 struct nvkm_dma_impl {
14         struct nvkm_oclass base;
15         struct nvkm_oclass *sclass;
16         int (*bind)(struct nvkm_dmaobj *, struct nvkm_gpuobj *,
17                     struct nvkm_gpuobj **);
18         int (*class_new)(struct nvkm_dma *, const struct nvkm_oclass *,
19                          void *data, u32 size, struct nvkm_dmaobj **);
20 };
21 #endif