• 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 _DRM_MODE_H
20 #define _DRM_MODE_H
21 #include <linux/types.h>
22 #define DRM_DISPLAY_INFO_LEN 32
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #define DRM_CONNECTOR_NAME_LEN 32
25 #define DRM_DISPLAY_MODE_LEN 32
26 #define DRM_PROP_NAME_LEN 32
27 #define DRM_MODE_TYPE_BUILTIN (1<<0)
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 #define DRM_MODE_TYPE_CLOCK_C ((1<<1) | DRM_MODE_TYPE_BUILTIN)
30 #define DRM_MODE_TYPE_CRTC_C ((1<<2) | DRM_MODE_TYPE_BUILTIN)
31 #define DRM_MODE_TYPE_PREFERRED (1<<3)
32 #define DRM_MODE_TYPE_DEFAULT (1<<4)
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 #define DRM_MODE_TYPE_USERDEF (1<<5)
35 #define DRM_MODE_TYPE_DRIVER (1<<6)
36 #define DRM_MODE_FLAG_PHSYNC (1<<0)
37 #define DRM_MODE_FLAG_NHSYNC (1<<1)
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 #define DRM_MODE_FLAG_PVSYNC (1<<2)
40 #define DRM_MODE_FLAG_NVSYNC (1<<3)
41 #define DRM_MODE_FLAG_INTERLACE (1<<4)
42 #define DRM_MODE_FLAG_DBLSCAN (1<<5)
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 #define DRM_MODE_FLAG_CSYNC (1<<6)
45 #define DRM_MODE_FLAG_PCSYNC (1<<7)
46 #define DRM_MODE_FLAG_NCSYNC (1<<8)
47 #define DRM_MODE_FLAG_HSKEW (1<<9)
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 #define DRM_MODE_FLAG_BCAST (1<<10)
50 #define DRM_MODE_FLAG_PIXMUX (1<<11)
51 #define DRM_MODE_FLAG_DBLCLK (1<<12)
52 #define DRM_MODE_FLAG_CLKDIV2 (1<<13)
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 #define DRM_MODE_FLAG_3D_MASK (0x1f<<14)
55 #define DRM_MODE_FLAG_3D_NONE (0<<14)
56 #define DRM_MODE_FLAG_3D_FRAME_PACKING (1<<14)
57 #define DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE (2<<14)
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 #define DRM_MODE_FLAG_3D_LINE_ALTERNATIVE (3<<14)
60 #define DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL (4<<14)
61 #define DRM_MODE_FLAG_3D_L_DEPTH (5<<14)
62 #define DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH (6<<14)
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 #define DRM_MODE_FLAG_3D_TOP_AND_BOTTOM (7<<14)
65 #define DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF (8<<14)
66 #define DRM_MODE_DPMS_ON 0
67 #define DRM_MODE_DPMS_STANDBY 1
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 #define DRM_MODE_DPMS_SUSPEND 2
70 #define DRM_MODE_DPMS_OFF 3
71 #define DRM_MODE_SCALE_NONE 0
72 #define DRM_MODE_SCALE_FULLSCREEN 1
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 #define DRM_MODE_SCALE_CENTER 2
75 #define DRM_MODE_SCALE_ASPECT 3
76 #define DRM_MODE_DITHERING_OFF 0
77 #define DRM_MODE_DITHERING_ON 1
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 #define DRM_MODE_DITHERING_AUTO 2
80 #define DRM_MODE_DIRTY_OFF 0
81 #define DRM_MODE_DIRTY_ON 1
82 #define DRM_MODE_DIRTY_ANNOTATE 2
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 struct drm_mode_modeinfo {
85  __u32 clock;
86  __u16 hdisplay, hsync_start, hsync_end, htotal, hskew;
87  __u16 vdisplay, vsync_start, vsync_end, vtotal, vscan;
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89  __u32 vrefresh;
90  __u32 flags;
91  __u32 type;
92  char name[DRM_DISPLAY_MODE_LEN];
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 };
95 struct drm_mode_card_res {
96  __u64 fb_id_ptr;
97  __u64 crtc_id_ptr;
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99  __u64 connector_id_ptr;
100  __u64 encoder_id_ptr;
101  __u32 count_fbs;
102  __u32 count_crtcs;
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104  __u32 count_connectors;
105  __u32 count_encoders;
106  __u32 min_width, max_width;
107  __u32 min_height, max_height;
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109 };
110 struct drm_mode_crtc {
111  __u64 set_connectors_ptr;
112  __u32 count_connectors;
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114  __u32 crtc_id;
115  __u32 fb_id;
116  __u32 x, y;
117  __u32 gamma_size;
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119  __u32 mode_valid;
120  struct drm_mode_modeinfo mode;
121 };
122 #define DRM_MODE_PRESENT_TOP_FIELD (1<<0)
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124 #define DRM_MODE_PRESENT_BOTTOM_FIELD (1<<1)
125 struct drm_mode_set_plane {
126  __u32 plane_id;
127  __u32 crtc_id;
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129  __u32 fb_id;
130  __u32 flags;
131  __s32 crtc_x, crtc_y;
132  __u32 crtc_w, crtc_h;
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134  __u32 src_x, src_y;
135  __u32 src_h, src_w;
136 };
137 struct drm_mode_get_plane {
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139  __u32 plane_id;
140  __u32 crtc_id;
141  __u32 fb_id;
142  __u32 possible_crtcs;
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144  __u32 gamma_size;
145  __u32 count_format_types;
146  __u64 format_type_ptr;
147 };
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 struct drm_mode_get_plane_res {
150  __u64 plane_id_ptr;
151  __u32 count_planes;
152 };
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154 #define DRM_MODE_ENCODER_NONE 0
155 #define DRM_MODE_ENCODER_DAC 1
156 #define DRM_MODE_ENCODER_TMDS 2
157 #define DRM_MODE_ENCODER_LVDS 3
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159 #define DRM_MODE_ENCODER_TVDAC 4
160 #define DRM_MODE_ENCODER_VIRTUAL 5
161 #define DRM_MODE_ENCODER_DSI 6
162 struct drm_mode_get_encoder {
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164  __u32 encoder_id;
165  __u32 encoder_type;
166  __u32 crtc_id;
167  __u32 possible_crtcs;
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169  __u32 possible_clones;
170 };
171 #define DRM_MODE_SUBCONNECTOR_Automatic 0
172 #define DRM_MODE_SUBCONNECTOR_Unknown 0
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174 #define DRM_MODE_SUBCONNECTOR_DVID 3
175 #define DRM_MODE_SUBCONNECTOR_DVIA 4
176 #define DRM_MODE_SUBCONNECTOR_Composite 5
177 #define DRM_MODE_SUBCONNECTOR_SVIDEO 6
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179 #define DRM_MODE_SUBCONNECTOR_Component 8
180 #define DRM_MODE_SUBCONNECTOR_SCART 9
181 #define DRM_MODE_CONNECTOR_Unknown 0
182 #define DRM_MODE_CONNECTOR_VGA 1
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184 #define DRM_MODE_CONNECTOR_DVII 2
185 #define DRM_MODE_CONNECTOR_DVID 3
186 #define DRM_MODE_CONNECTOR_DVIA 4
187 #define DRM_MODE_CONNECTOR_Composite 5
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189 #define DRM_MODE_CONNECTOR_SVIDEO 6
190 #define DRM_MODE_CONNECTOR_LVDS 7
191 #define DRM_MODE_CONNECTOR_Component 8
192 #define DRM_MODE_CONNECTOR_9PinDIN 9
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194 #define DRM_MODE_CONNECTOR_DisplayPort 10
195 #define DRM_MODE_CONNECTOR_HDMIA 11
196 #define DRM_MODE_CONNECTOR_HDMIB 12
197 #define DRM_MODE_CONNECTOR_TV 13
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199 #define DRM_MODE_CONNECTOR_eDP 14
200 #define DRM_MODE_CONNECTOR_VIRTUAL 15
201 #define DRM_MODE_CONNECTOR_DSI 16
202 struct drm_mode_get_connector {
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204  __u64 encoders_ptr;
205  __u64 modes_ptr;
206  __u64 props_ptr;
207  __u64 prop_values_ptr;
208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209  __u32 count_modes;
210  __u32 count_props;
211  __u32 count_encoders;
212  __u32 encoder_id;
213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214  __u32 connector_id;
215  __u32 connector_type;
216  __u32 connector_type_id;
217  __u32 connection;
218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219  __u32 mm_width, mm_height;
220  __u32 subpixel;
221  __u32 pad;
222 };
223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224 #define DRM_MODE_PROP_PENDING (1<<0)
225 #define DRM_MODE_PROP_RANGE (1<<1)
226 #define DRM_MODE_PROP_IMMUTABLE (1<<2)
227 #define DRM_MODE_PROP_ENUM (1<<3)
228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229 #define DRM_MODE_PROP_BLOB (1<<4)
230 #define DRM_MODE_PROP_BITMASK (1<<5)
231 struct drm_mode_property_enum {
232  __u64 value;
233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234  char name[DRM_PROP_NAME_LEN];
235 };
236 struct drm_mode_get_property {
237  __u64 values_ptr;
238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239  __u64 enum_blob_ptr;
240  __u32 prop_id;
241  __u32 flags;
242  char name[DRM_PROP_NAME_LEN];
243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244  __u32 count_values;
245  __u32 count_enum_blobs;
246 };
247 struct drm_mode_connector_set_property {
248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249  __u64 value;
250  __u32 prop_id;
251  __u32 connector_id;
252 };
253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254 struct drm_mode_obj_get_properties {
255  __u64 props_ptr;
256  __u64 prop_values_ptr;
257  __u32 count_props;
258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259  __u32 obj_id;
260  __u32 obj_type;
261 };
262 struct drm_mode_obj_set_property {
263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264  __u64 value;
265  __u32 prop_id;
266  __u32 obj_id;
267  __u32 obj_type;
268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269 };
270 struct drm_mode_get_blob {
271  __u32 blob_id;
272  __u32 length;
273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274  __u64 data;
275 };
276 struct drm_mode_fb_cmd {
277  __u32 fb_id;
278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279  __u32 width, height;
280  __u32 pitch;
281  __u32 bpp;
282  __u32 depth;
283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284  __u32 handle;
285 };
286 #define DRM_MODE_FB_INTERLACED (1<<0)
287 struct drm_mode_fb_cmd2 {
288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289  __u32 fb_id;
290  __u32 width, height;
291  __u32 pixel_format;
292  __u32 flags;
293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294  __u32 handles[4];
295  __u32 pitches[4];
296  __u32 offsets[4];
297 };
298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299 #define DRM_MODE_FB_DIRTY_ANNOTATE_COPY 0x01
300 #define DRM_MODE_FB_DIRTY_ANNOTATE_FILL 0x02
301 #define DRM_MODE_FB_DIRTY_FLAGS 0x03
302 #define DRM_MODE_FB_DIRTY_MAX_CLIPS 256
303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304 struct drm_mode_fb_dirty_cmd {
305  __u32 fb_id;
306  __u32 flags;
307  __u32 color;
308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309  __u32 num_clips;
310  __u64 clips_ptr;
311 };
312 struct drm_mode_mode_cmd {
313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314  __u32 connector_id;
315  struct drm_mode_modeinfo mode;
316 };
317 #define DRM_MODE_CURSOR_BO 0x01
318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319 #define DRM_MODE_CURSOR_MOVE 0x02
320 #define DRM_MODE_CURSOR_FLAGS 0x03
321 struct drm_mode_cursor {
322  __u32 flags;
323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324  __u32 crtc_id;
325  __s32 x;
326  __s32 y;
327  __u32 width;
328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329  __u32 height;
330  __u32 handle;
331 };
332 struct drm_mode_cursor2 {
333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334  __u32 flags;
335  __u32 crtc_id;
336  __s32 x;
337  __s32 y;
338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339  __u32 width;
340  __u32 height;
341  __u32 handle;
342  __s32 hot_x;
343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344  __s32 hot_y;
345 };
346 struct drm_mode_crtc_lut {
347  __u32 crtc_id;
348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349  __u32 gamma_size;
350  __u64 red;
351  __u64 green;
352  __u64 blue;
353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354 };
355 #define DRM_MODE_PAGE_FLIP_EVENT 0x01
356 #define DRM_MODE_PAGE_FLIP_ASYNC 0x02
357 #define DRM_MODE_PAGE_FLIP_FLAGS (DRM_MODE_PAGE_FLIP_EVENT|DRM_MODE_PAGE_FLIP_ASYNC)
358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359 struct drm_mode_crtc_page_flip {
360  __u32 crtc_id;
361  __u32 fb_id;
362  __u32 flags;
363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364  __u32 reserved;
365  __u64 user_data;
366 };
367 struct drm_mode_create_dumb {
368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369  uint32_t height;
370  uint32_t width;
371  uint32_t bpp;
372  uint32_t flags;
373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374  uint32_t handle;
375  uint32_t pitch;
376  uint64_t size;
377 };
378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379 struct drm_mode_map_dumb {
380  __u32 handle;
381  __u32 pad;
382  __u64 offset;
383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384 };
385 struct drm_mode_destroy_dumb {
386  uint32_t handle;
387 };
388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389 #endif
390