Subversion Repositories Kolibri OS

Rev

Rev 5068 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5068 Rev 6110
Line 171... Line 171...
171
#define DRM_MODE_ENCODER_NONE	0
171
#define DRM_MODE_ENCODER_NONE	0
172
#define DRM_MODE_ENCODER_DAC	1
172
#define DRM_MODE_ENCODER_DAC	1
173
#define DRM_MODE_ENCODER_TMDS	2
173
#define DRM_MODE_ENCODER_TMDS	2
174
#define DRM_MODE_ENCODER_LVDS	3
174
#define DRM_MODE_ENCODER_LVDS	3
175
#define DRM_MODE_ENCODER_TVDAC	4
175
#define DRM_MODE_ENCODER_TVDAC	4
-
 
176
#define DRM_MODE_ENCODER_VIRTUAL 5
-
 
177
#define DRM_MODE_ENCODER_DSI	6
-
 
178
#define DRM_MODE_ENCODER_DPMST	7
Line 176... Line 179...
176
 
179
 
177
struct drm_mode_get_encoder {
180
struct drm_mode_get_encoder {
178
	__u32 encoder_id;
181
	__u32 encoder_id;
Line 208... Line 211...
208
#define DRM_MODE_CONNECTOR_DisplayPort	10
211
#define DRM_MODE_CONNECTOR_DisplayPort	10
209
#define DRM_MODE_CONNECTOR_HDMIA	11
212
#define DRM_MODE_CONNECTOR_HDMIA	11
210
#define DRM_MODE_CONNECTOR_HDMIB	12
213
#define DRM_MODE_CONNECTOR_HDMIB	12
211
#define DRM_MODE_CONNECTOR_TV		13
214
#define DRM_MODE_CONNECTOR_TV		13
212
#define DRM_MODE_CONNECTOR_eDP		14
215
#define DRM_MODE_CONNECTOR_eDP		14
-
 
216
#define DRM_MODE_CONNECTOR_VIRTUAL      15
-
 
217
#define DRM_MODE_CONNECTOR_DSI		16
Line 213... Line 218...
213
 
218
 
Line 214... Line 219...
214
struct drm_mode_get_connector {
219
struct drm_mode_get_connector {
215
 
220
 
Line 237... Line 242...
237
#define DRM_MODE_PROP_IMMUTABLE	(1<<2)
242
#define DRM_MODE_PROP_IMMUTABLE	(1<<2)
238
#define DRM_MODE_PROP_ENUM	(1<<3) /* enumerated type with text strings */
243
#define DRM_MODE_PROP_ENUM	(1<<3) /* enumerated type with text strings */
239
#define DRM_MODE_PROP_BLOB	(1<<4)
244
#define DRM_MODE_PROP_BLOB	(1<<4)
240
#define DRM_MODE_PROP_BITMASK	(1<<5) /* bitmask of enumerated types */
245
#define DRM_MODE_PROP_BITMASK	(1<<5) /* bitmask of enumerated types */
Line -... Line 246...
-
 
246
 
-
 
247
/* non-extended types: legacy bitmask, one bit per type: */
-
 
248
#define DRM_MODE_PROP_LEGACY_TYPE  ( \
-
 
249
		DRM_MODE_PROP_RANGE | \
-
 
250
		DRM_MODE_PROP_ENUM | \
-
 
251
		DRM_MODE_PROP_BLOB | \
-
 
252
		DRM_MODE_PROP_BITMASK)
-
 
253
 
-
 
254
/* extended-types: rather than continue to consume a bit per type,
-
 
255
 * grab a chunk of the bits to use as integer type id.
-
 
256
 */
-
 
257
#define DRM_MODE_PROP_EXTENDED_TYPE	0x0000ffc0
-
 
258
#define DRM_MODE_PROP_TYPE(n)		((n) << 6)
-
 
259
#define DRM_MODE_PROP_OBJECT		DRM_MODE_PROP_TYPE(1)
-
 
260
#define DRM_MODE_PROP_SIGNED_RANGE	DRM_MODE_PROP_TYPE(2)
241
 
261
 
242
struct drm_mode_property_enum {
262
struct drm_mode_property_enum {
243
	__u64 value;
263
	__u64 value;
244
	char name[DRM_PROP_NAME_LEN];
264
	char name[DRM_PROP_NAME_LEN];
Line 301... Line 321...
301
	/* driver specific handle */
321
	/* driver specific handle */
302
	__u32 handle;
322
	__u32 handle;
303
};
323
};
Line 304... Line 324...
304
 
324
 
-
 
325
#define DRM_MODE_FB_INTERLACED	(1<<0) /* for interlaced framebuffers */
Line 305... Line 326...
305
#define DRM_MODE_FB_INTERLACED (1<<0) /* for interlaced framebuffers */
326
#define DRM_MODE_FB_MODIFIERS	(1<<1) /* enables ->modifer[] */
306
 
327
 
307
struct drm_mode_fb_cmd2 {
328
struct drm_mode_fb_cmd2 {
308
	__u32 fb_id;
329
	__u32 fb_id;
Line 321... Line 342...
321
	 *   8 bit 2x2 subsampled colour difference samples.
342
	 *   8 bit 2x2 subsampled colour difference samples.
322
	 *
343
	 *
323
	 * So it would consist of Y as offset[0] and UV as
344
	 * So it would consist of Y as offset[0] and UV as
324
	 * offset[1].  Note that offset[0] will generally
345
	 * offset[1].  Note that offset[0] will generally
325
	 * be 0.
346
	 * be 0.
-
 
347
	 *
-
 
348
	 * To accommodate tiled, compressed, etc formats, a per-plane
-
 
349
	 * modifier can be specified.  The default value of zero
-
 
350
	 * indicates "native" format as specified by the fourcc.
-
 
351
	 * Vendor specific modifier token.  This allows, for example,
-
 
352
	 * different tiling/swizzling pattern on different planes.
-
 
353
	 * See discussion above of DRM_FORMAT_MOD_xxx.
326
	 */
354
	 */
327
	__u32 handles[4];
355
	__u32 handles[4];
328
	__u32 pitches[4]; /* pitch for each plane */
356
	__u32 pitches[4]; /* pitch for each plane */
329
	__u32 offsets[4]; /* offset of each plane */
357
	__u32 offsets[4]; /* offset of each plane */
-
 
358
	__u64 modifier[4]; /* ie, tiling, compressed (per plane) */
330
};
359
};
Line 331... Line 360...
331
 
360
 
332
#define DRM_MODE_FB_DIRTY_ANNOTATE_COPY 0x01
361
#define DRM_MODE_FB_DIRTY_ANNOTATE_COPY 0x01
333
#define DRM_MODE_FB_DIRTY_ANNOTATE_FILL 0x02
362
#define DRM_MODE_FB_DIRTY_ANNOTATE_FILL 0x02
Line 485... Line 514...
485
 
514
 
486
struct drm_mode_destroy_dumb {
515
struct drm_mode_destroy_dumb {
487
	__u32 handle;
516
	__u32 handle;
Line -... Line 517...
-
 
517
};
-
 
518
 
-
 
519
/* page-flip flags are valid, plus: */
-
 
520
#define DRM_MODE_ATOMIC_TEST_ONLY	0x0100
-
 
521
#define DRM_MODE_ATOMIC_NONBLOCK	0x0200
-
 
522
#define DRM_MODE_ATOMIC_ALLOW_MODESET	0x0400
-
 
523
 
-
 
524
struct drm_mode_atomic {
-
 
525
	__u32 flags;
-
 
526
	__u32 count_objs;
-
 
527
	__u64 objs_ptr;
-
 
528
	__u64 count_props_ptr;
-
 
529
	__u64 props_ptr;
-
 
530
	__u64 prop_values_ptr;
-
 
531
	__u64 reserved;
-
 
532
	__u64 user_data;
-
 
533
};
-
 
534
 
-
 
535
/**
-
 
536
 * Create a new 'blob' data property, copying length bytes from data pointer,
-
 
537
 * and returning new blob ID.
-
 
538
 */
-
 
539
struct drm_mode_create_blob {
-
 
540
	/** Pointer to data to copy. */
-
 
541
	__u64 data;
-
 
542
	/** Length of data to copy. */
-
 
543
	__u32 length;
-
 
544
	/** Return: new property ID. */
-
 
545
	__u32 blob_id;
-
 
546
};
-
 
547
 
-
 
548
/**
-
 
549
 * Destroy a user-created blob property.
-
 
550
 */
-
 
551
struct drm_mode_destroy_blob {
-
 
552
	__u32 blob_id;
-
 
553
};
488
};
554