[PATCH 00/13] Atomic Properties
Sean Paul
seanpaul at chromium.org
Wed Dec 17 05:08:57 PST 2014
On Tue, Dec 16, 2014 at 6:05 PM, Rob Clark <robdclark at gmail.com> wrote:
> Now that we have core atomic helpers, let's expose that to userspace!
> The first step here is to, for drivers supporting atomic, expose all
> the core plane/CRTC/connector state as properties. Once this is in
> place, all that remains is the atomic ioctl to allow userspace to
> atomically set a bunch of properties on a bunch of objects (RFC patch
> at the end).
>
> All of the core properties have their set/get/check's handled by the
> drm_atomic core, so drivers needn't be bothered about that.
>
> NOTE: that there is one notable omission here. The 'MODE' property
> on the CRTC. Without this, you can do atomic pageflip but not yet
> atomic modeset. I am debating between three paths for handling MODE:
>
> 1) Add back blob property support to atomic ioctl
> 2) Add ioctls to create/destroy blob properties, and then simply
> pass blob property id to atomic ioctl.
> 3) Stick our head in the sands and expose mode as a bunch of descrete
> properties.
>
> Of these, at the moment I prefer #2, since it is more consistent with
> how userspace currently reads blob properties, and it avoids making the
> atomic ioctl function even more gnarly.
>
Sounds reasonable.
> The whole patchset can also be found at:
>
> http://cgit.freedesktop.org/~robclark/linux/log/?h=atomic-properties
> git://people.freedesktop.org/~robclark/linux atomic-properties
>
Unsurprisingly, since I took a pass last week, the set looks good to
me (aside from 2 comment nits, which I trust you can fix up). Feel
free to add my Rb to all 13 patches.
Reviewed-by: Sean Paul <seanpaul at chromium.org>
> Rob Clark (13):
> drm: allow property validation for refcnted props
> drm: store property instead of id in obj attachment
> drm: get rid of direct property value access
> drm: add atomic_set_property wrappers
> drm: add atomic_get_property
> drm: add atomic hook to read property plus helper
> drm: small property creation cleanup
> drm: tweak getconnector locking
> drm/atomic: atomic_check functions
> drm/atomic: atomic plane properties
> drm/atomic: atomic connector properties
> drm/msm: atomic property support
> RFC: drm: Atomic modeset ioctl
>
> Documentation/DocBook/drm.tmpl | 83 ++-
> drivers/gpu/drm/drm_atomic.c | 613 +++++++++++++++++++++
> drivers/gpu/drm/drm_atomic_helper.c | 105 +++-
> drivers/gpu/drm/drm_crtc.c | 230 ++++++--
> drivers/gpu/drm/drm_ioctl.c | 1 +
> drivers/gpu/drm/msm/hdmi/hdmi_connector.c | 1 +
> drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c | 1 +
> drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c | 1 +
> drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c | 1 +
> drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c | 1 +
> drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c | 2 +
> drivers/gpu/drm/msm/msm_drv.c | 1 +
> include/drm/drm_atomic.h | 22 +
> include/drm/drm_atomic_helper.h | 2 +
> include/drm/drm_crtc.h | 50 +-
> include/uapi/drm/drm.h | 1 +
> include/uapi/drm/drm_mode.h | 21 +
> 17 files changed, 1063 insertions(+), 73 deletions(-)
>
> --
> 2.1.0
>
More information about the dri-devel
mailing list