diff options
Diffstat (limited to 'include/uapi/drm/drm_mode.h')
-rw-r--r-- | include/uapi/drm/drm_mode.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h index aae71cb32123..ca788e01dab2 100644 --- a/include/uapi/drm/drm_mode.h +++ b/include/uapi/drm/drm_mode.h | |||
@@ -272,6 +272,13 @@ struct drm_mode_get_connector { | |||
272 | #define DRM_MODE_PROP_OBJECT DRM_MODE_PROP_TYPE(1) | 272 | #define DRM_MODE_PROP_OBJECT DRM_MODE_PROP_TYPE(1) |
273 | #define DRM_MODE_PROP_SIGNED_RANGE DRM_MODE_PROP_TYPE(2) | 273 | #define DRM_MODE_PROP_SIGNED_RANGE DRM_MODE_PROP_TYPE(2) |
274 | 274 | ||
275 | /* the PROP_ATOMIC flag is used to hide properties from userspace that | ||
276 | * is not aware of atomic properties. This is mostly to work around | ||
277 | * older userspace (DDX drivers) that read/write each prop they find, | ||
278 | * witout being aware that this could be triggering a lengthy modeset. | ||
279 | */ | ||
280 | #define DRM_MODE_PROP_ATOMIC 0x80000000 | ||
281 | |||
275 | struct drm_mode_property_enum { | 282 | struct drm_mode_property_enum { |
276 | __u64 value; | 283 | __u64 value; |
277 | char name[DRM_PROP_NAME_LEN]; | 284 | char name[DRM_PROP_NAME_LEN]; |
@@ -519,4 +526,27 @@ struct drm_mode_destroy_dumb { | |||
519 | uint32_t handle; | 526 | uint32_t handle; |
520 | }; | 527 | }; |
521 | 528 | ||
529 | /* page-flip flags are valid, plus: */ | ||
530 | #define DRM_MODE_ATOMIC_TEST_ONLY 0x0100 | ||
531 | #define DRM_MODE_ATOMIC_NONBLOCK 0x0200 | ||
532 | #define DRM_MODE_ATOMIC_ALLOW_MODESET 0x0400 | ||
533 | |||
534 | #define DRM_MODE_ATOMIC_FLAGS (\ | ||
535 | DRM_MODE_PAGE_FLIP_EVENT |\ | ||
536 | DRM_MODE_PAGE_FLIP_ASYNC |\ | ||
537 | DRM_MODE_ATOMIC_TEST_ONLY |\ | ||
538 | DRM_MODE_ATOMIC_NONBLOCK |\ | ||
539 | DRM_MODE_ATOMIC_ALLOW_MODESET) | ||
540 | |||
541 | struct drm_mode_atomic { | ||
542 | __u32 flags; | ||
543 | __u32 count_objs; | ||
544 | __u64 objs_ptr; | ||
545 | __u64 count_props_ptr; | ||
546 | __u64 props_ptr; | ||
547 | __u64 prop_values_ptr; | ||
548 | __u64 reserved; | ||
549 | __u64 user_data; | ||
550 | }; | ||
551 | |||
522 | #endif | 552 | #endif |