• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef _LINUX_DSSCOMP_H
20 #define _LINUX_DSSCOMP_H
21 enum omap_plane {
22  OMAP_DSS_GFX = 0,
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24  OMAP_DSS_VIDEO1 = 1,
25  OMAP_DSS_VIDEO2 = 2,
26  OMAP_DSS_VIDEO3 = 3,
27  OMAP_DSS_WB = 4,
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 };
30 enum omap_channel {
31  OMAP_DSS_CHANNEL_LCD = 0,
32  OMAP_DSS_CHANNEL_DIGIT = 1,
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34  OMAP_DSS_CHANNEL_LCD2 = 2,
35 };
36 enum omap_color_mode {
37  OMAP_DSS_COLOR_CLUT1 = 1 << 0,
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39  OMAP_DSS_COLOR_CLUT2 = 1 << 1,
40  OMAP_DSS_COLOR_CLUT4 = 1 << 2,
41  OMAP_DSS_COLOR_CLUT8 = 1 << 3,
42  OMAP_DSS_COLOR_RGB12U = 1 << 4,
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44  OMAP_DSS_COLOR_ARGB16 = 1 << 5,
45  OMAP_DSS_COLOR_RGB16 = 1 << 6,
46  OMAP_DSS_COLOR_RGB24U = 1 << 7,
47  OMAP_DSS_COLOR_RGB24P = 1 << 8,
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49  OMAP_DSS_COLOR_YUV2 = 1 << 9,
50  OMAP_DSS_COLOR_UYVY = 1 << 10,
51  OMAP_DSS_COLOR_ARGB32 = 1 << 11,
52  OMAP_DSS_COLOR_RGBA32 = 1 << 12,
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54  OMAP_DSS_COLOR_RGBX24 = 1 << 13,
55  OMAP_DSS_COLOR_RGBX32 = 1 << 13,
56  OMAP_DSS_COLOR_NV12 = 1 << 14,
57  OMAP_DSS_COLOR_RGBA16 = 1 << 15,
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59  OMAP_DSS_COLOR_RGBX12 = 1 << 16,
60  OMAP_DSS_COLOR_RGBX16 = 1 << 16,
61  OMAP_DSS_COLOR_ARGB16_1555 = 1 << 17,
62  OMAP_DSS_COLOR_XRGB15 = 1 << 18,
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64  OMAP_DSS_COLOR_XRGB16_1555 = 1 << 18,
65 };
66 enum omap_dss_trans_key_type {
67  OMAP_DSS_COLOR_KEY_GFX_DST = 0,
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69  OMAP_DSS_COLOR_KEY_VID_SRC = 1,
70 };
71 enum omap_dss_display_state {
72  OMAP_DSS_DISPLAY_DISABLED = 0,
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74  OMAP_DSS_DISPLAY_ACTIVE,
75  OMAP_DSS_DISPLAY_SUSPENDED,
76  OMAP_DSS_DISPLAY_TRANSITION,
77 };
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 struct omap_video_timings {
80  __u16 x_res;
81  __u16 y_res;
82  __u32 pixel_clock;
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84  __u16 hsw;
85  __u16 hfp;
86  __u16 hbp;
87  __u16 vsw;
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89  __u16 vfp;
90  __u16 vbp;
91 };
92 struct omap_dss_cconv_coefs {
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94  __s16 ry, rcr, rcb;
95  __s16 gy, gcr, gcb;
96  __s16 by, bcr, bcb;
97  __u16 full_range;
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 } __attribute__ ((aligned(4)));
100 struct omap_dss_cpr_coefs {
101  __s16 rr, rg, rb;
102  __s16 gr, gg, gb;
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104  __s16 br, bg, bb;
105 };
106 struct dsscomp_videomode {
107  const char *name;
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109  __u32 refresh;
110  __u32 xres;
111  __u32 yres;
112  __u32 pixclock;
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114  __u32 left_margin;
115  __u32 right_margin;
116  __u32 upper_margin;
117  __u32 lower_margin;
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119  __u32 hsync_len;
120  __u32 vsync_len;
121  __u32 sync;
122  __u32 vmode;
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124  __u32 flag;
125 };
126 enum s3d_disp_type {
127  S3D_DISP_NONE = 0,
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129  S3D_DISP_FRAME_SEQ,
130  S3D_DISP_ROW_IL,
131  S3D_DISP_COL_IL,
132  S3D_DISP_PIX_IL,
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134  S3D_DISP_CHECKB,
135  S3D_DISP_OVERUNDER,
136  S3D_DISP_SIDEBYSIDE,
137 };
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 enum s3d_disp_sub_sampling {
140  S3D_DISP_SUB_SAMPLE_NONE = 0,
141  S3D_DISP_SUB_SAMPLE_V,
142  S3D_DISP_SUB_SAMPLE_H,
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144 };
145 enum s3d_disp_order {
146  S3D_DISP_ORDER_L = 0,
147  S3D_DISP_ORDER_R = 1,
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 };
150 enum s3d_disp_view {
151  S3D_DISP_VIEW_L = 0,
152  S3D_DISP_VIEW_R,
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154 };
155 struct s3d_disp_info {
156  enum s3d_disp_type type;
157  enum s3d_disp_sub_sampling sub_samp;
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159  enum s3d_disp_order order;
160  unsigned int gap;
161 };
162 enum omap_dss_ilace_mode {
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164  OMAP_DSS_ILACE = (1 << 0),
165  OMAP_DSS_ILACE_SEQ = (1 << 1),
166  OMAP_DSS_ILACE_SWAP = (1 << 2),
167  OMAP_DSS_ILACE_NONE = 0,
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169  OMAP_DSS_ILACE_IL_TB = OMAP_DSS_ILACE,
170  OMAP_DSS_ILACE_IL_BT = OMAP_DSS_ILACE | OMAP_DSS_ILACE_SWAP,
171  OMAP_DSS_ILACE_SEQ_TB = OMAP_DSS_ILACE_IL_TB | OMAP_DSS_ILACE_SEQ,
172  OMAP_DSS_ILACE_SEQ_BT = OMAP_DSS_ILACE_IL_BT | OMAP_DSS_ILACE_SEQ,
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174 };
175 struct dss2_vc1_range_map_info {
176  __u8 enable;
177  __u8 range_y;
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179  __u8 range_uv;
180 } __attribute__ ((aligned(4)));
181 struct dss2_rect_t {
182  __s32 x;
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184  __s32 y;
185  __u32 w;
186  __u32 h;
187 } __attribute__ ((aligned(4)));
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189 struct dss2_decim {
190  __u8 min_x;
191  __u8 max_x;
192  __u8 min_y;
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194  __u8 max_y;
195 } __attribute__ ((aligned(4)));
196 struct dss2_ovl_cfg {
197  __u16 width;
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199  __u16 height;
200  __u32 stride;
201  enum omap_color_mode color_mode;
202  __u8 pre_mult_alpha;
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204  __u8 global_alpha;
205  __u8 rotation;
206  __u8 mirror;
207  enum omap_dss_ilace_mode ilace;
208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209  struct dss2_rect_t win;
210  struct dss2_rect_t crop;
211  struct dss2_decim decim;
212  struct omap_dss_cconv_coefs cconv;
213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214  struct dss2_vc1_range_map_info vc1;
215  __u8 ix;
216  __u8 zorder;
217  __u8 enabled;
218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219  __u8 zonly;
220  __u8 mgr_ix;
221 } __attribute__ ((aligned(4)));
222 enum omapdss_buffer_type {
223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224  OMAP_DSS_BUFTYPE_SDMA,
225  OMAP_DSS_BUFTYPE_TILER_8BIT,
226  OMAP_DSS_BUFTYPE_TILER_16BIT,
227  OMAP_DSS_BUFTYPE_TILER_32BIT,
228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229  OMAP_DSS_BUFTYPE_TILER_PAGE,
230 };
231 enum omapdss_buffer_addressing_type {
232  OMAP_DSS_BUFADDR_DIRECT,
233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234  OMAP_DSS_BUFADDR_BYTYPE,
235  OMAP_DSS_BUFADDR_ION,
236  OMAP_DSS_BUFADDR_GRALLOC,
237  OMAP_DSS_BUFADDR_OVL_IX,
238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239  OMAP_DSS_BUFADDR_LAYER_IX,
240  OMAP_DSS_BUFADDR_FB,
241 };
242 struct dss2_ovl_info {
243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244  struct dss2_ovl_cfg cfg;
245  enum omapdss_buffer_addressing_type addressing;
246  union {
247  struct {
248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249  void *address;
250  void *uv_address;
251  };
252  struct {
253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254  enum omapdss_buffer_type ba_type;
255  enum omapdss_buffer_type uv_type;
256  };
257  struct {
258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259  __u32 ba;
260  __u32 uv;
261  };
262  };
263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264 };
265 struct dss2_mgr_info {
266  __u32 ix;
267  __u32 default_color;
268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269  enum omap_dss_trans_key_type trans_key_type;
270  __u32 trans_key;
271  struct omap_dss_cpr_coefs cpr_coefs;
272  __u8 trans_enabled;
273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274  __u8 interlaced;
275  __u8 alpha_blending;
276  __u8 cpr_enabled;
277  __u8 swap_rb;
278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279 } __attribute__ ((aligned(4)));
280 enum dsscomp_setup_mode {
281  DSSCOMP_SETUP_MODE_APPLY = (1 << 0),
282  DSSCOMP_SETUP_MODE_DISPLAY = (1 << 1),
283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284  DSSCOMP_SETUP_MODE_CAPTURE = (1 << 2),
285  DSSCOMP_SETUP_APPLY = DSSCOMP_SETUP_MODE_APPLY,
286  DSSCOMP_SETUP_DISPLAY =
287  DSSCOMP_SETUP_MODE_APPLY | DSSCOMP_SETUP_MODE_DISPLAY,
288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289  DSSCOMP_SETUP_CAPTURE =
290  DSSCOMP_SETUP_MODE_APPLY | DSSCOMP_SETUP_MODE_CAPTURE,
291  DSSCOMP_SETUP_DISPLAY_CAPTURE =
292  DSSCOMP_SETUP_DISPLAY | DSSCOMP_SETUP_CAPTURE,
293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294 };
295 struct dsscomp_setup_mgr_data {
296  __u32 sync_id;
297  struct dss2_rect_t win;
298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299  enum dsscomp_setup_mode mode;
300  __u16 num_ovls;
301  __u16 get_sync_obj;
302  struct dss2_mgr_info mgr;
303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304  struct dss2_ovl_info ovls[0];
305 };
306 struct dsscomp_check_ovl_data {
307  enum dsscomp_setup_mode mode;
308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309  struct dss2_mgr_info mgr;
310  struct dss2_ovl_info ovl;
311 };
312 struct dsscomp_setup_dispc_data {
313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314  __u32 sync_id;
315  enum dsscomp_setup_mode mode;
316  __u16 num_ovls;
317  __u16 num_mgrs;
318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319  __u16 get_sync_obj;
320  struct dss2_mgr_info mgrs[3];
321  struct dss2_ovl_info ovls[5];
322 };
323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324 struct dsscomp_wb_copy_data {
325  struct dss2_ovl_info ovl, wb;
326 };
327 struct dsscomp_display_info {
328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329  __u32 ix;
330  __u32 overlays_available;
331  __u32 overlays_owned;
332  enum omap_channel channel;
333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334  enum omap_dss_display_state state;
335  __u8 enabled;
336  struct omap_video_timings timings;
337  struct s3d_disp_info s3d_info;
338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339  struct dss2_mgr_info mgr;
340  __u16 width_in_mm;
341  __u16 height_in_mm;
342  __u32 modedb_len;
343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344  struct dsscomp_videomode modedb[];
345 };
346 struct dsscomp_setup_display_data {
347  __u32 ix;
348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349  struct dsscomp_videomode mode;
350 };
351 enum dsscomp_wait_phase {
352  DSSCOMP_WAIT_PROGRAMMED = 1,
353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354  DSSCOMP_WAIT_DISPLAYED,
355  DSSCOMP_WAIT_RELEASED,
356 };
357 struct dsscomp_wait_data {
358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359  __u32 timeout_us;
360  enum dsscomp_wait_phase phase;
361 };
362 #define DSSCIOC_SETUP_MGR _IOW('O', 128, struct dsscomp_setup_mgr_data)
363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364 #define DSSCIOC_CHECK_OVL _IOWR('O', 129, struct dsscomp_check_ovl_data)
365 #define DSSCIOC_WB_COPY _IOW('O', 130, struct dsscomp_wb_copy_data)
366 #define DSSCIOC_QUERY_DISPLAY _IOWR('O', 131, struct dsscomp_display_info)
367 #define DSSCIOC_WAIT _IOW('O', 132, struct dsscomp_wait_data)
368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369 #define DSSCIOC_SETUP_DISPC _IOW('O', 133, struct dsscomp_setup_dispc_data)
370 #define DSSCIOC_SETUP_DISPLAY _IOW('O', 134, struct dsscomp_setup_display_data)
371 #endif
372