These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / gpu / drm / nouveau / include / nvkm / engine / dma.h
1 #ifndef __NVKM_DMA_H__
2 #define __NVKM_DMA_H__
3 #include <core/engine.h>
4 struct nvkm_client;
5
6 struct nvkm_dmaobj {
7         const struct nvkm_dmaobj_func *func;
8         struct nvkm_dma *dma;
9
10         struct nvkm_object object;
11         u32 target;
12         u32 access;
13         u64 start;
14         u64 limit;
15
16         struct rb_node rb;
17         u64 handle; /*XXX HANDLE MERGE */
18 };
19
20 struct nvkm_dma {
21         const struct nvkm_dma_func *func;
22         struct nvkm_engine engine;
23 };
24
25 struct nvkm_dmaobj *
26 nvkm_dma_search(struct nvkm_dma *, struct nvkm_client *, u64 object);
27
28 int nv04_dma_new(struct nvkm_device *, int, struct nvkm_dma **);
29 int nv50_dma_new(struct nvkm_device *, int, struct nvkm_dma **);
30 int gf100_dma_new(struct nvkm_device *, int, struct nvkm_dma **);
31 int gf119_dma_new(struct nvkm_device *, int, struct nvkm_dma **);
32 #endif