aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/drm/drm_mode.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/uapi/drm/drm_mode.h')
-rw-r--r--include/uapi/drm/drm_mode.h30
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
275struct drm_mode_property_enum { 282struct 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
541struct 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