summaryrefslogtreecommitdiff
path: root/armada_bufmgr.h
diff options
context:
space:
mode:
authorRussell King <rmk_cubox@arm.linux.org.uk>2013-05-21 12:09:33 +0100
committerRussell King <rmk@arm.linux.org.uk>2013-05-21 12:16:40 +0100
commit725cd0b771768a03c838d7972a2e2357091f1574 (patch)
tree49d4658e9e17459f1b9faab28e28c253c85b9ddc /armada_bufmgr.h
parent38c232e6ae0b9eed2b15146bd940f95c9f0b36b7 (diff)
Rename dove -> armada
As this is not specific to Armada 510 (Dove) devices, but also appears on other Marvell Armada devices, use "armada" as the name rather than "dove". Signed-off-by: Russell King <rmk_cubox@arm.linux.org.uk>
Diffstat (limited to 'armada_bufmgr.h')
-rw-r--r--armada_bufmgr.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/armada_bufmgr.h b/armada_bufmgr.h
new file mode 100644
index 0000000..9e6188f
--- /dev/null
+++ b/armada_bufmgr.h
@@ -0,0 +1,46 @@
+#ifndef DRM_ARMADA_GEM_H
+#define DRM_ARMADA_GEM_H
+
+enum drm_armada_bo_type {
+ DRM_ARMADA_BO_DUMB,
+ DRM_ARMADA_BO_LINEAR,
+ DRM_ARMADA_BO_SHMEM
+};
+
+struct drm_armada_bufmgr;
+
+struct drm_armada_bo {
+ uint32_t ref;
+ uint32_t handle;
+ uint32_t size;
+ uint32_t pitch;
+ uint32_t phys;
+ void *ptr;
+ enum drm_armada_bo_type type;
+};
+
+int drm_armada_init(int fd, struct drm_armada_bufmgr **mgr);
+void drm_armada_fini(struct drm_armada_bufmgr *);
+
+struct drm_armada_bo *drm_armada_bo_create(struct drm_armada_bufmgr *,
+ unsigned w, unsigned h, unsigned bpp);
+struct drm_armada_bo *drm_armada_bo_create_phys(struct drm_armada_bufmgr *,
+ uint32_t phys, size_t size);
+struct drm_armada_bo *drm_armada_bo_dumb_create(struct drm_armada_bufmgr *,
+ unsigned w, unsigned h, unsigned bpp);
+
+/* Create a BO from a global name */
+struct drm_armada_bo *drm_armada_bo_create_from_name(struct drm_armada_bufmgr *,
+ uint32_t name);
+
+/* Create a global name from a BO */
+int drm_armada_bo_flink(struct drm_armada_bo *bo, uint32_t *name);
+
+int drm_armada_bo_map(struct drm_armada_bo *bo);
+uint32_t drm_armada_bo_phys(struct drm_armada_bo *bo);
+void drm_armada_bo_get(struct drm_armada_bo *bo);
+void drm_armada_bo_put(struct drm_armada_bo *bo);
+int drm_armada_bo_subdata(struct drm_armada_bo *bo, unsigned long offset,
+ unsigned long size, const void *data);
+
+#endif