1655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/****************************************************************************
2655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
3655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
4655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   This header was automatically generated from a Linux kernel header
5655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   of the same name, to make information necessary for userspace to
6655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   call into the kernel available to libc.  It contains only constants,
7655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   structures, and macros generated from the original header, and thus,
8655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   contains no copyrightable information.
9655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
10655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   To edit the content of this header, modify the corresponding
11655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   source file (e.g. under external/kernel-headers/original/) then
12655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   run bionic/libc/kernel/tools/update_all.py
13655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
14655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   Any manual change here will be lost the next time this script will
15655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***   be run. You've been warned!
16655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ***
17655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************
18655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************/
19655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef _UAPI_EXYNOS_DRM_H_
20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define _UAPI_EXYNOS_DRM_H_
21106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#include "drm.h"
22106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#ifdef __cplusplus
23106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#endif
24655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_exynos_gem_create {
25106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u64 size;
26106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 flags;
27106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 handle;
28655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
29106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferrisstruct drm_exynos_gem_map {
30106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 handle;
31106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 reserved;
32106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u64 offset;
33106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris};
34655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_exynos_gem_info {
35106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 handle;
36106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 flags;
37106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u64 size;
3882d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris};
39655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_exynos_vidi_connection {
40106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 connection;
41106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 extensions;
42106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u64 edid;
43655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
44655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum e_drm_exynos_gem_mem_type {
45d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  EXYNOS_BO_CONTIG = 0 << 0,
46d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  EXYNOS_BO_NONCONTIG = 1 << 0,
47d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  EXYNOS_BO_NONCACHABLE = 0 << 1,
48d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  EXYNOS_BO_CACHABLE = 1 << 1,
49d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  EXYNOS_BO_WC = 1 << 2,
50d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  EXYNOS_BO_MASK = EXYNOS_BO_NONCONTIG | EXYNOS_BO_CACHABLE | EXYNOS_BO_WC
51655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
52655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_exynos_g2d_get_ver {
53d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 major;
54d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 minor;
55655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
56655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_exynos_g2d_cmd {
57d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 offset;
58d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 data;
59655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
60655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum drm_exynos_g2d_buf_type {
61d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  G2D_BUF_USERPTR = 1 << 31,
62655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
63655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum drm_exynos_g2d_event_type {
64d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  G2D_EVENT_NOT,
65d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  G2D_EVENT_NONSTOP,
66d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  G2D_EVENT_STOP,
67655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
68655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_exynos_g2d_userptr {
69d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long userptr;
70d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long size;
71655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
72655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_exynos_g2d_set_cmdlist {
73d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 cmd;
74d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 cmd_buf;
75d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 cmd_nr;
76d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 cmd_buf_nr;
77d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 event_type;
78d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 user_data;
79655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
80655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_exynos_g2d_exec {
81d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 async;
82655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
83655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum drm_exynos_ops_id {
84d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  EXYNOS_DRM_OPS_SRC,
85d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  EXYNOS_DRM_OPS_DST,
86d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  EXYNOS_DRM_OPS_MAX,
87655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
88655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_exynos_sz {
89d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 hsize;
90d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 vsize;
91655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
92655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_exynos_pos {
93d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 x;
94d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 y;
95d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 w;
96d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 h;
9782d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris};
98655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum drm_exynos_flip {
99d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  EXYNOS_DRM_FLIP_NONE = (0 << 0),
100d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  EXYNOS_DRM_FLIP_VERTICAL = (1 << 0),
101d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  EXYNOS_DRM_FLIP_HORIZONTAL = (1 << 1),
102d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  EXYNOS_DRM_FLIP_BOTH = EXYNOS_DRM_FLIP_VERTICAL | EXYNOS_DRM_FLIP_HORIZONTAL,
103655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
10482d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferrisenum drm_exynos_degree {
105d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  EXYNOS_DRM_DEGREE_0,
106d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  EXYNOS_DRM_DEGREE_90,
107d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  EXYNOS_DRM_DEGREE_180,
108d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  EXYNOS_DRM_DEGREE_270,
109655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
110655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum drm_exynos_planer {
111d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  EXYNOS_DRM_PLANAR_Y,
112d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  EXYNOS_DRM_PLANAR_CB,
113d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  EXYNOS_DRM_PLANAR_CR,
114d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  EXYNOS_DRM_PLANAR_MAX,
115655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
11682d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferrisstruct drm_exynos_ipp_prop_list {
117d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 version;
118d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ipp_id;
119d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 count;
120d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 writeback;
121d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 flip;
122d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 degree;
123d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 csc;
124d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 crop;
125d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 scale;
126d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 refresh_min;
127d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 refresh_max;
128d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 reserved;
129d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct drm_exynos_sz crop_min;
130d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct drm_exynos_sz crop_max;
131d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct drm_exynos_sz scale_min;
132d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct drm_exynos_sz scale_max;
133655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
134d7db594b8d1dab36b711bd887a9dd21675c87243Tao Baostruct drm_exynos_ipp_config {
135106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 ops_id;
136106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 flip;
137106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 degree;
138d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 fmt;
139d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct drm_exynos_sz sz;
140d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct drm_exynos_pos pos;
141655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
142d7db594b8d1dab36b711bd887a9dd21675c87243Tao Baoenum drm_exynos_ipp_cmd {
143d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IPP_CMD_NONE,
144d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IPP_CMD_M2M,
145d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IPP_CMD_WB,
146d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IPP_CMD_OUTPUT,
147d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IPP_CMD_MAX,
14882d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris};
149655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_exynos_ipp_property {
150d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct drm_exynos_ipp_config config[EXYNOS_DRM_OPS_MAX];
151106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 cmd;
152d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 ipp_id;
153d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 prop_id;
154d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 refresh_rate;
155655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
156d7db594b8d1dab36b711bd887a9dd21675c87243Tao Baoenum drm_exynos_ipp_buf_type {
157d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IPP_BUF_ENQUEUE,
158d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IPP_BUF_DEQUEUE,
159d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao};
16082d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferrisstruct drm_exynos_ipp_queue_buf {
161106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 ops_id;
162106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 buf_type;
163d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 prop_id;
164d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 buf_id;
165d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 handle[EXYNOS_DRM_PLANAR_MAX];
166d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 reserved;
167d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 user_data;
16882d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris};
169655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengenum drm_exynos_ipp_ctrl {
170d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IPP_CTRL_PLAY,
171d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IPP_CTRL_STOP,
172d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IPP_CTRL_PAUSE,
173d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IPP_CTRL_RESUME,
174d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  IPP_CTRL_MAX,
175655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
176d7db594b8d1dab36b711bd887a9dd21675c87243Tao Baostruct drm_exynos_ipp_cmd_ctrl {
177d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 prop_id;
178106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 ctrl;
179d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao};
18082d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define DRM_EXYNOS_GEM_CREATE 0x00
181106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define DRM_EXYNOS_GEM_MAP 0x01
182655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_EXYNOS_GEM_GET 0x04
183655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_EXYNOS_VIDI_CONNECTION 0x07
184655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_EXYNOS_G2D_GET_VER 0x20
185655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_EXYNOS_G2D_SET_CMDLIST 0x21
186655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_EXYNOS_G2D_EXEC 0x22
187655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_EXYNOS_IPP_GET_PROPERTY 0x30
188655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_EXYNOS_IPP_SET_PROPERTY 0x31
189655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_EXYNOS_IPP_QUEUE_BUF 0x32
190655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_EXYNOS_IPP_CMD_CTRL 0x33
191d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_EXYNOS_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_EXYNOS_GEM_CREATE, struct drm_exynos_gem_create)
192106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define DRM_IOCTL_EXYNOS_GEM_MAP DRM_IOWR(DRM_COMMAND_BASE + DRM_EXYNOS_GEM_MAP, struct drm_exynos_gem_map)
193d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_EXYNOS_GEM_GET DRM_IOWR(DRM_COMMAND_BASE + DRM_EXYNOS_GEM_GET, struct drm_exynos_gem_info)
194d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_EXYNOS_VIDI_CONNECTION DRM_IOWR(DRM_COMMAND_BASE + DRM_EXYNOS_VIDI_CONNECTION, struct drm_exynos_vidi_connection)
195106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define DRM_IOCTL_EXYNOS_G2D_GET_VER DRM_IOWR(DRM_COMMAND_BASE + DRM_EXYNOS_G2D_GET_VER, struct drm_exynos_g2d_get_ver)
196d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_EXYNOS_G2D_SET_CMDLIST DRM_IOWR(DRM_COMMAND_BASE + DRM_EXYNOS_G2D_SET_CMDLIST, struct drm_exynos_g2d_set_cmdlist)
197d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_EXYNOS_G2D_EXEC DRM_IOWR(DRM_COMMAND_BASE + DRM_EXYNOS_G2D_EXEC, struct drm_exynos_g2d_exec)
198d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_EXYNOS_IPP_GET_PROPERTY DRM_IOWR(DRM_COMMAND_BASE + DRM_EXYNOS_IPP_GET_PROPERTY, struct drm_exynos_ipp_prop_list)
199106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define DRM_IOCTL_EXYNOS_IPP_SET_PROPERTY DRM_IOWR(DRM_COMMAND_BASE + DRM_EXYNOS_IPP_SET_PROPERTY, struct drm_exynos_ipp_property)
200d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_EXYNOS_IPP_QUEUE_BUF DRM_IOWR(DRM_COMMAND_BASE + DRM_EXYNOS_IPP_QUEUE_BUF, struct drm_exynos_ipp_queue_buf)
201d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_EXYNOS_IPP_CMD_CTRL DRM_IOWR(DRM_COMMAND_BASE + DRM_EXYNOS_IPP_CMD_CTRL, struct drm_exynos_ipp_cmd_ctrl)
20282d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define DRM_EXYNOS_G2D_EVENT 0x80000000
203106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define DRM_EXYNOS_IPP_EVENT 0x80000001
204d7db594b8d1dab36b711bd887a9dd21675c87243Tao Baostruct drm_exynos_g2d_event {
205d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct drm_event base;
206d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 user_data;
207106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 tv_sec;
208d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 tv_usec;
209d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 cmdlist_no;
210d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 reserved;
211106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris};
212655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_exynos_ipp_event {
213d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct drm_event base;
214d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 user_data;
215106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 tv_sec;
216d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 tv_usec;
217d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 prop_id;
218d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 reserved;
219106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris  __u32 buf_id[EXYNOS_DRM_OPS_MAX];
220655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng};
221106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#ifdef __cplusplus
222106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#endif
223655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#endif
224