diff options
| author | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-02-23 14:02:19 -0500 |
|---|---|---|
| committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-02-23 14:02:19 -0500 |
| commit | 99a85b901eb54f62ff0c3fd6eb56e60b7b9f15c8 (patch) | |
| tree | 0c6637b7d2172e079c30e966847326767cbaf45c /include/uapi | |
| parent | 135f9be9194cf7778eb73594aa55791b229cf27c (diff) | |
| parent | c517d838eb7d07bbe9507871fab3931deccff539 (diff) | |
Merge tag 'v4.0-rc1' into patchwork
Linux 34.0-rc1
* tag 'v4.0-rc1': (8947 commits)
Linux 4.0-rc1
autofs4 copy_dev_ioctl(): keep the value of ->size we'd used for allocation
procfs: fix race between symlink removals and traversals
debugfs: leave freeing a symlink body until inode eviction
Documentation/filesystems/Locking: ->get_sb() is long gone
trylock_super(): replacement for grab_super_passive()
fanotify: Fix up scripted S_ISDIR/S_ISREG/S_ISLNK conversions
Cachefiles: Fix up scripted S_ISDIR/S_ISREG/S_ISLNK conversions
VFS: (Scripted) Convert S_ISLNK/DIR/REG(dentry->d_inode) to d_is_*(dentry)
SELinux: Use d_is_positive() rather than testing dentry->d_inode
Smack: Use d_is_positive() rather than testing dentry->d_inode
TOMOYO: Use d_is_dir() rather than d_inode and S_ISDIR()
Apparmor: Use d_is_positive/negative() rather than testing dentry->d_inode
Apparmor: mediated_filesystem() should use dentry->d_sb not inode->i_sb
VFS: Split DCACHE_FILE_TYPE into regular and special types
VFS: Add a fallthrough flag for marking virtual dentries
VFS: Add a whiteout dentry type
VFS: Introduce inode-getting helpers for layered/unioned fs environments
kernel: make READ_ONCE() valid on const arguments
blk-throttle: check stats_cpu before reading it from sysfs
...
Diffstat (limited to 'include/uapi')
55 files changed, 749 insertions, 239 deletions
diff --git a/include/uapi/drm/drm.h b/include/uapi/drm/drm.h index b0b855613641..01b2d6d0e355 100644 --- a/include/uapi/drm/drm.h +++ b/include/uapi/drm/drm.h | |||
| @@ -654,6 +654,13 @@ struct drm_get_cap { | |||
| 654 | */ | 654 | */ |
| 655 | #define DRM_CLIENT_CAP_UNIVERSAL_PLANES 2 | 655 | #define DRM_CLIENT_CAP_UNIVERSAL_PLANES 2 |
| 656 | 656 | ||
| 657 | /** | ||
| 658 | * DRM_CLIENT_CAP_ATOMIC | ||
| 659 | * | ||
| 660 | * If set to 1, the DRM core will expose atomic properties to userspace | ||
| 661 | */ | ||
| 662 | #define DRM_CLIENT_CAP_ATOMIC 3 | ||
| 663 | |||
| 657 | /** DRM_IOCTL_SET_CLIENT_CAP ioctl argument type */ | 664 | /** DRM_IOCTL_SET_CLIENT_CAP ioctl argument type */ |
| 658 | struct drm_set_client_cap { | 665 | struct drm_set_client_cap { |
| 659 | __u64 capability; | 666 | __u64 capability; |
| @@ -777,6 +784,7 @@ struct drm_prime_handle { | |||
| 777 | #define DRM_IOCTL_MODE_OBJ_GETPROPERTIES DRM_IOWR(0xB9, struct drm_mode_obj_get_properties) | 784 | #define DRM_IOCTL_MODE_OBJ_GETPROPERTIES DRM_IOWR(0xB9, struct drm_mode_obj_get_properties) |
| 778 | #define DRM_IOCTL_MODE_OBJ_SETPROPERTY DRM_IOWR(0xBA, struct drm_mode_obj_set_property) | 785 | #define DRM_IOCTL_MODE_OBJ_SETPROPERTY DRM_IOWR(0xBA, struct drm_mode_obj_set_property) |
| 779 | #define DRM_IOCTL_MODE_CURSOR2 DRM_IOWR(0xBB, struct drm_mode_cursor2) | 786 | #define DRM_IOCTL_MODE_CURSOR2 DRM_IOWR(0xBB, struct drm_mode_cursor2) |
| 787 | #define DRM_IOCTL_MODE_ATOMIC DRM_IOWR(0xBC, struct drm_mode_atomic) | ||
| 780 | 788 | ||
| 781 | /** | 789 | /** |
| 782 | * Device specific ioctls should only be in their respective headers | 790 | * Device specific ioctls should only be in their respective headers |
diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h index 646ae5f39f42..a284f11a8ef5 100644 --- a/include/uapi/drm/drm_fourcc.h +++ b/include/uapi/drm/drm_fourcc.h | |||
| @@ -109,9 +109,6 @@ | |||
| 109 | #define DRM_FORMAT_NV24 fourcc_code('N', 'V', '2', '4') /* non-subsampled Cr:Cb plane */ | 109 | #define DRM_FORMAT_NV24 fourcc_code('N', 'V', '2', '4') /* non-subsampled Cr:Cb plane */ |
| 110 | #define DRM_FORMAT_NV42 fourcc_code('N', 'V', '4', '2') /* non-subsampled Cb:Cr plane */ | 110 | #define DRM_FORMAT_NV42 fourcc_code('N', 'V', '4', '2') /* non-subsampled Cb:Cr plane */ |
| 111 | 111 | ||
| 112 | /* special NV12 tiled format */ | ||
| 113 | #define DRM_FORMAT_NV12MT fourcc_code('T', 'M', '1', '2') /* 2x2 subsampled Cr:Cb plane 64x32 macroblocks */ | ||
| 114 | |||
| 115 | /* | 112 | /* |
| 116 | * 3 plane YCbCr | 113 | * 3 plane YCbCr |
| 117 | * index 0: Y plane, [7:0] Y | 114 | * index 0: Y plane, [7:0] Y |
diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h index 86574b0005ff..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]; |
| @@ -338,7 +345,7 @@ struct drm_mode_fb_cmd2 { | |||
| 338 | 345 | ||
| 339 | /* | 346 | /* |
| 340 | * In case of planar formats, this ioctl allows up to 4 | 347 | * In case of planar formats, this ioctl allows up to 4 |
| 341 | * buffer objects with offets and pitches per plane. | 348 | * buffer objects with offsets and pitches per plane. |
| 342 | * The pitch and offset order is dictated by the fourcc, | 349 | * The pitch and offset order is dictated by the fourcc, |
| 343 | * e.g. NV12 (http://fourcc.org/yuv.php#NV12) is described as: | 350 | * e.g. NV12 (http://fourcc.org/yuv.php#NV12) is described as: |
| 344 | * | 351 | * |
| @@ -346,9 +353,9 @@ struct drm_mode_fb_cmd2 { | |||
| 346 | * followed by an interleaved U/V plane containing | 353 | * followed by an interleaved U/V plane containing |
| 347 | * 8 bit 2x2 subsampled colour difference samples. | 354 | * 8 bit 2x2 subsampled colour difference samples. |
| 348 | * | 355 | * |
| 349 | * So it would consist of Y as offset[0] and UV as | 356 | * So it would consist of Y as offsets[0] and UV as |
| 350 | * offeset[1]. Note that offset[0] will generally | 357 | * offsets[1]. Note that offsets[0] will generally |
| 351 | * be 0. | 358 | * be 0 (but this is not required). |
| 352 | */ | 359 | */ |
| 353 | __u32 handles[4]; | 360 | __u32 handles[4]; |
| 354 | __u32 pitches[4]; /* pitch for each plane */ | 361 | __u32 pitches[4]; /* pitch for each plane */ |
| @@ -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 | |||
