On Tue, Dec 16, 2014 at 6:05 PM, Rob Clark <robdclark@xxxxxxxxx> 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@xxxxxxxxxxxx> > 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 > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel