Subversion Repositories Kolibri OS

Rev

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
 */