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
diff --git a/kernel/drivers/gpu/drm/nouveau/include/nvkm/engine/dma.h b/kernel/drivers/gpu/drm/nouveau/include/nvkm/engine/dma.h
new file mode 100644 (file)
index 0000000..114bfb7
--- /dev/null
@@ -0,0 +1,32 @@
+#ifndef __NVKM_DMA_H__
+#define __NVKM_DMA_H__
+#include <core/engine.h>
+struct nvkm_client;
+
+struct nvkm_dmaobj {
+       const struct nvkm_dmaobj_func *func;
+       struct nvkm_dma *dma;
+
+       struct nvkm_object object;
+       u32 target;
+       u32 access;
+       u64 start;
+       u64 limit;
+
+       struct rb_node rb;
+       u64 handle; /*XXX HANDLE MERGE */
+};
+
+struct nvkm_dma {
+       const struct nvkm_dma_func *func;
+       struct nvkm_engine engine;
+};
+
+struct nvkm_dmaobj *
+nvkm_dma_search(struct nvkm_dma *, struct nvkm_client *, u64 object);
+
+int nv04_dma_new(struct nvkm_device *, int, struct nvkm_dma **);
+int nv50_dma_new(struct nvkm_device *, int, struct nvkm_dma **);
+int gf100_dma_new(struct nvkm_device *, int, struct nvkm_dma **);
+int gf119_dma_new(struct nvkm_device *, int, struct nvkm_dma **);
+#endif