[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