Rev 3031 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3031 | Rev 4559 | ||
---|---|---|---|
Line 56... | Line 56... | ||
56 | #define DRM_MODE_FLAG_HSKEW (1<<9) /* hskew provided */ |
56 | #define DRM_MODE_FLAG_HSKEW (1<<9) /* hskew provided */ |
57 | #define DRM_MODE_FLAG_BCAST (1<<10) |
57 | #define DRM_MODE_FLAG_BCAST (1<<10) |
58 | #define DRM_MODE_FLAG_PIXMUX (1<<11) |
58 | #define DRM_MODE_FLAG_PIXMUX (1<<11) |
59 | #define DRM_MODE_FLAG_DBLCLK (1<<12) |
59 | #define DRM_MODE_FLAG_DBLCLK (1<<12) |
60 | #define DRM_MODE_FLAG_CLKDIV2 (1<<13) |
60 | #define DRM_MODE_FLAG_CLKDIV2 (1<<13) |
- | 61 | /* |
|
- | 62 | * When adding a new stereo mode don't forget to adjust DRM_MODE_FLAGS_3D_MAX |
|
- | 63 | * (define not exposed to user space). |
|
- | 64 | */ |
|
- | 65 | #define DRM_MODE_FLAG_3D_MASK (0x1f<<14) |
|
- | 66 | #define DRM_MODE_FLAG_3D_NONE (0<<14) |
|
- | 67 | #define DRM_MODE_FLAG_3D_FRAME_PACKING (1<<14) |
|
- | 68 | #define DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE (2<<14) |
|
- | 69 | #define DRM_MODE_FLAG_3D_LINE_ALTERNATIVE (3<<14) |
|
- | 70 | #define DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL (4<<14) |
|
- | 71 | #define DRM_MODE_FLAG_3D_L_DEPTH (5<<14) |
|
- | 72 | #define DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH (6<<14) |
|
- | 73 | #define DRM_MODE_FLAG_3D_TOP_AND_BOTTOM (7<<14) |
|
- | 74 | #define DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF (8<<14) |
|
- | 75 | ||
Line 61... | Line 76... | ||
61 | 76 | ||
62 | /* DPMS flags */ |
77 | /* DPMS flags */ |
63 | /* bit compatible with the xorg definitions. */ |
78 | /* bit compatible with the xorg definitions. */ |
64 | #define DRM_MODE_DPMS_ON 0 |
79 | #define DRM_MODE_DPMS_ON 0 |
Line 163... | Line 178... | ||
163 | #define DRM_MODE_ENCODER_DAC 1 |
178 | #define DRM_MODE_ENCODER_DAC 1 |
164 | #define DRM_MODE_ENCODER_TMDS 2 |
179 | #define DRM_MODE_ENCODER_TMDS 2 |
165 | #define DRM_MODE_ENCODER_LVDS 3 |
180 | #define DRM_MODE_ENCODER_LVDS 3 |
166 | #define DRM_MODE_ENCODER_TVDAC 4 |
181 | #define DRM_MODE_ENCODER_TVDAC 4 |
167 | #define DRM_MODE_ENCODER_VIRTUAL 5 |
182 | #define DRM_MODE_ENCODER_VIRTUAL 5 |
- | 183 | #define DRM_MODE_ENCODER_DSI 6 |
|
Line 168... | Line 184... | ||
168 | 184 | ||
169 | struct drm_mode_get_encoder { |
185 | struct drm_mode_get_encoder { |
170 | __u32 encoder_id; |
186 | __u32 encoder_id; |
Line 201... | Line 217... | ||
201 | #define DRM_MODE_CONNECTOR_HDMIA 11 |
217 | #define DRM_MODE_CONNECTOR_HDMIA 11 |
202 | #define DRM_MODE_CONNECTOR_HDMIB 12 |
218 | #define DRM_MODE_CONNECTOR_HDMIB 12 |
203 | #define DRM_MODE_CONNECTOR_TV 13 |
219 | #define DRM_MODE_CONNECTOR_TV 13 |
204 | #define DRM_MODE_CONNECTOR_eDP 14 |
220 | #define DRM_MODE_CONNECTOR_eDP 14 |
205 | #define DRM_MODE_CONNECTOR_VIRTUAL 15 |
221 | #define DRM_MODE_CONNECTOR_VIRTUAL 15 |
- | 222 | #define DRM_MODE_CONNECTOR_DSI 16 |
|
Line 206... | Line 223... | ||
206 | 223 | ||
Line 207... | Line 224... | ||
207 | struct drm_mode_get_connector { |
224 | struct drm_mode_get_connector { |
208 | 225 | ||
Line 221... | Line 238... | ||
221 | __u32 connector_type_id; |
238 | __u32 connector_type_id; |
Line 222... | Line 239... | ||
222 | 239 | ||
223 | __u32 connection; |
240 | __u32 connection; |
224 | __u32 mm_width, mm_height; /**< HxW in millimeters */ |
241 | __u32 mm_width, mm_height; /**< HxW in millimeters */ |
- | 242 | __u32 subpixel; |
|
- | 243 | ||
225 | __u32 subpixel; |
244 | __u32 pad; |
Line 226... | Line 245... | ||
226 | }; |
245 | }; |
227 | 246 | ||
228 | #define DRM_MODE_PROP_PENDING (1<<0) |
247 | #define DRM_MODE_PROP_PENDING (1<<0) |
Line 365... | Line 384... | ||
365 | 384 | ||
366 | /* |
385 | /* |
367 | * depending on the value in flags different members are used. |
386 | * depending on the value in flags different members are used. |
368 | * |
387 | * |
369 | * CURSOR_BO uses |
388 | * CURSOR_BO uses |
370 | * crtc |
389 | * crtc_id |
371 | * width |
390 | * width |
372 | * height |
391 | * height |
373 | * handle - if 0 turns the cursor of |
392 | * handle - if 0 turns the cursor off |
374 | * |
393 | * |
375 | * CURSOR_MOVE uses |
394 | * CURSOR_MOVE uses |
376 | * crtc |
395 | * crtc_id |
377 | * x |
396 | * x |
378 | * y |
397 | * y |
379 | */ |
398 | */ |
380 | struct drm_mode_cursor { |
399 | struct drm_mode_cursor { |
Line 386... | Line 405... | ||
386 | __u32 height; |
405 | __u32 height; |
387 | /* driver specific handle */ |
406 | /* driver specific handle */ |
388 | __u32 handle; |
407 | __u32 handle; |
389 | }; |
408 | }; |
Line -... | Line 409... | ||
- | 409 | ||
- | 410 | struct drm_mode_cursor2 { |
|
- | 411 | __u32 flags; |
|
- | 412 | __u32 crtc_id; |
|
- | 413 | __s32 x; |
|
- | 414 | __s32 y; |
|
- | 415 | __u32 width; |
|
- | 416 | __u32 height; |
|
- | 417 | /* driver specific handle */ |
|
- | 418 | __u32 handle; |
|
- | 419 | __s32 hot_x; |
|
- | 420 | __s32 hot_y; |
|
- | 421 | }; |
|
390 | 422 | ||
391 | struct drm_mode_crtc_lut { |
423 | struct drm_mode_crtc_lut { |
392 | __u32 crtc_id; |
424 | __u32 crtc_id; |
Line 393... | Line 425... | ||
393 | __u32 gamma_size; |
425 | __u32 gamma_size; |
Line 397... | Line 429... | ||
397 | __u64 green; |
429 | __u64 green; |
398 | __u64 blue; |
430 | __u64 blue; |
399 | }; |
431 | }; |
Line 400... | Line 432... | ||
400 | 432 | ||
- | 433 | #define DRM_MODE_PAGE_FLIP_EVENT 0x01 |
|
401 | #define DRM_MODE_PAGE_FLIP_EVENT 0x01 |
434 | #define DRM_MODE_PAGE_FLIP_ASYNC 0x02 |
Line 402... | Line 435... | ||
402 | #define DRM_MODE_PAGE_FLIP_FLAGS DRM_MODE_PAGE_FLIP_EVENT |
435 | #define DRM_MODE_PAGE_FLIP_FLAGS (DRM_MODE_PAGE_FLIP_EVENT|DRM_MODE_PAGE_FLIP_ASYNC) |
403 | 436 | ||
404 | /* |
437 | /* |
405 | * Request a page flip on the specified crtc. |
438 | * Request a page flip on the specified crtc. |
Line 411... | Line 444... | ||
411 | * immediately, but subsequent rendering to the current fb will block |
444 | * immediately, but subsequent rendering to the current fb will block |
412 | * in the execbuffer ioctl until the page flip happens. If a page |
445 | * in the execbuffer ioctl until the page flip happens. If a page |
413 | * flip is already pending as the ioctl is called, EBUSY will be |
446 | * flip is already pending as the ioctl is called, EBUSY will be |
414 | * returned. |
447 | * returned. |
415 | * |
448 | * |
416 | * The ioctl supports one flag, DRM_MODE_PAGE_FLIP_EVENT, which will |
449 | * Flag DRM_MODE_PAGE_FLIP_EVENT requests that drm sends back a vblank |
417 | * request that drm sends back a vblank event (see drm.h: struct |
450 | * event (see drm.h: struct drm_event_vblank) when the page flip is |
418 | * drm_event_vblank) when the page flip is done. The user_data field |
451 | * done. The user_data field passed in with this ioctl will be |
419 | * passed in with this ioctl will be returned as the user_data field |
452 | * returned as the user_data field in the vblank event struct. |
- | 453 | * |
|
- | 454 | * Flag DRM_MODE_PAGE_FLIP_ASYNC requests that the flip happen |
|
- | 455 | * 'as soon as possible', meaning that it not delay waiting for vblank. |
|
420 | * in the vblank event struct. |
456 | * This may cause tearing on the screen. |
421 | * |
457 | * |
422 | * The reserved field must be zero until we figure out something |
458 | * The reserved field must be zero until we figure out something |
423 | * clever to use it for. |
459 | * clever to use it for. |
424 | */ |
460 | */ |