CHROMIUM: drm/rockchip: add GEM CPU acquire/release ioctls
[firefly-linux-kernel-4.4.55.git] / include / uapi / drm / rockchip_drm.h
index c521e5a3e0cb45b2e560e8d98511db36dbc322f6..b8f367d9114d2e6bb23793b428281244d1ffed16 100644 (file)
@@ -45,8 +45,36 @@ struct drm_rockchip_gem_map_off {
        uint64_t offset;
 };
 
+/* acquire type definitions. */
+enum drm_rockchip_gem_cpu_acquire_type {
+       DRM_ROCKCHIP_GEM_CPU_ACQUIRE_SHARED = 0x0,
+       DRM_ROCKCHIP_GEM_CPU_ACQUIRE_EXCLUSIVE = 0x1,
+};
+
+/**
+ * A structure for acquiring buffer for CPU access.
+ *
+ * @handle: a handle to gem object created.
+ * @flags: acquire flag
+ */
+struct drm_rockchip_gem_cpu_acquire {
+       uint32_t handle;
+       uint32_t flags;
+};
+
+/*
+ * A structure for releasing buffer for GPU access.
+ *
+ * @handle: a handle to gem object created.
+ */
+struct drm_rockchip_gem_cpu_release {
+       uint32_t handle;
+};
+
 #define DRM_ROCKCHIP_GEM_CREATE                0x00
 #define DRM_ROCKCHIP_GEM_MAP_OFFSET    0x01
+#define DRM_ROCKCHIP_GEM_CPU_ACQUIRE   0x02
+#define DRM_ROCKCHIP_GEM_CPU_RELEASE   0x03
 
 #define DRM_IOCTL_ROCKCHIP_GEM_CREATE  DRM_IOWR(DRM_COMMAND_BASE + \
                DRM_ROCKCHIP_GEM_CREATE, struct drm_rockchip_gem_create)
@@ -54,4 +82,10 @@ struct drm_rockchip_gem_map_off {
 #define DRM_IOCTL_ROCKCHIP_GEM_MAP_OFFSET      DRM_IOWR(DRM_COMMAND_BASE + \
                DRM_ROCKCHIP_GEM_MAP_OFFSET, struct drm_rockchip_gem_map_off)
 
+#define DRM_IOCTL_ROCKCHIP_GEM_CPU_ACQUIRE     DRM_IOWR(DRM_COMMAND_BASE + \
+               DRM_ROCKCHIP_GEM_CPU_ACQUIRE, struct drm_rockchip_gem_cpu_acquire)
+
+#define DRM_IOCTL_ROCKCHIP_GEM_CPU_RELEASE     DRM_IOWR(DRM_COMMAND_BASE + \
+               DRM_ROCKCHIP_GEM_CPU_RELEASE, struct drm_rockchip_gem_cpu_release)
+
 #endif /* _UAPI_ROCKCHIP_DRM_H */