drm: Atomic modeset ioctl
authorRob Clark <robdclark@gmail.com>
Thu, 18 Dec 2014 21:01:56 +0000 (16:01 -0500)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 5 Jan 2015 12:55:29 +0000 (13:55 +0100)
commitd34f20d6e2f21bd3531b969dc40913181a8ae31a
tree05c0a22fb00068b2bc06bfedd078d97908da20b9
parentae16c597b61ae4613b13a0c3fac302e8d8827ac7
drm: Atomic modeset ioctl

The atomic modeset ioctl can be used to push any number of new values
for object properties. The driver can then check the full device
configuration as single unit, and try to apply the changes atomically.

The ioctl simply takes a list of object IDs and property IDs and their
values.

Originally based on a patch from Ville Syrjälä, although it has mutated
(mutilated?) enough since then that you probably shouldn't blame it on
him ;-)

The atomic support is hidden behind the DRM_CLIENT_CAP_ATOMIC cap (to
protect legacy userspace) and drm.atomic module param (for now).

v2: Check for file_priv->atomic to make sure we only allow userspace
in-the-know to use atomic.

Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/drm_atomic.c
drivers/gpu/drm/drm_crtc.c
drivers/gpu/drm/drm_ioctl.c
include/drm/drm_crtc.h
include/uapi/drm/drm.h
include/uapi/drm/drm_mode.h