aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/drm/exynos_drm.h
diff options
context:
space:
mode:
authorJoonyoung Shim <jy0922.shim@samsung.com>2016-03-08 14:12:59 +0900
committerInki Dae <daeinki@gmail.com>2016-03-13 14:54:03 +0900
commit6564c65f3a2b75832957e53bcc3c6066d1d73487 (patch)
treeb688f8fa99a0f2606769059cea323859c934a511 /include/uapi/drm/exynos_drm.h
parentMerge branch 'drm-next-4.6' of git://people.freedesktop.org/~agd5f/linux into drm-next (diff)
downloadlinux-dev-6564c65f3a2b75832957e53bcc3c6066d1d73487.tar.xz
linux-dev-6564c65f3a2b75832957e53bcc3c6066d1d73487.zip
drm/exynos: add DRM_EXYNOS_GEM_MAP ioctl
The commit d931589c01a2 ("drm/exynos: remove DRM_EXYNOS_GEM_MAP_OFFSET ioctl") removed it same with the ioctl that this patch adds. The reason that removed DRM_EXYNOS_GEM_MAP_OFFSET was we could use DRM_IOCTL_MODE_MAP_DUMB. Both did exactly same thing. Now we again will revive it as DRM_EXYNOS_GEM_MAP because of render node. DRM_IOCTL_MODE_MAP_DUMB isn't permitted in render node. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
Diffstat (limited to 'include/uapi/drm/exynos_drm.h')
-rw-r--r--include/uapi/drm/exynos_drm.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/include/uapi/drm/exynos_drm.h b/include/uapi/drm/exynos_drm.h
index d2a5bb1c22db..3947c2eb8d69 100644
--- a/include/uapi/drm/exynos_drm.h
+++ b/include/uapi/drm/exynos_drm.h
@@ -33,6 +33,19 @@ struct drm_exynos_gem_create {
};
/**
+ * A structure for getting a fake-offset that can be used with mmap.
+ *
+ * @handle: handle of gem object.
+ * @reserved: just padding to be 64-bit aligned.
+ * @offset: a fake-offset of gem object.
+ */
+struct drm_exynos_gem_map {
+ __u32 handle;
+ __u32 reserved;
+ __u64 offset;
+};
+
+/**
* A structure to gem information.
*
* @handle: a handle to gem object created.
@@ -284,6 +297,7 @@ struct drm_exynos_ipp_cmd_ctrl {
};
#define DRM_EXYNOS_GEM_CREATE 0x00
+#define DRM_EXYNOS_GEM_MAP 0x01
/* Reserved 0x03 ~ 0x05 for exynos specific gem ioctl */
#define DRM_EXYNOS_GEM_GET 0x04
#define DRM_EXYNOS_VIDI_CONNECTION 0x07
@@ -301,7 +315,8 @@ struct drm_exynos_ipp_cmd_ctrl {
#define DRM_IOCTL_EXYNOS_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + \
DRM_EXYNOS_GEM_CREATE, struct drm_exynos_gem_create)
-
+#define DRM_IOCTL_EXYNOS_GEM_MAP DRM_IOWR(DRM_COMMAND_BASE + \
+ DRM_EXYNOS_GEM_MAP, struct drm_exynos_gem_map)
#define DRM_IOCTL_EXYNOS_GEM_GET DRM_IOWR(DRM_COMMAND_BASE + \
DRM_EXYNOS_GEM_GET, struct drm_exynos_gem_info)