Re-spin of Archit's original RFC. I've added a modeset lock to the private object, making it operate in a way more consistent with other objects, and avoiding the need for the locking dance in the driver. Possibly we could split up mixer state from smp/hwpipe state into separate private objects. In that case, the purpose would be mainly to split the locking, so having the modeset lock per object in drm core works out nicely for that. The remainder of the patchset is Archit's original patchset, with the now redundant locking removed, and rebased onto msm-next. >From original cover-letter: It's been recommended that we use drm_private_objs embedded in drm_atomic_state to hold shared resources instead of subclassing drm_atomic_state. This will also help us in getting one step closer to using the atomic commit helpers instead of the msm_atomic_commit() funcs in msm_atomic.c Archit Taneja (3): drm/msm/mdp5: Add global state as a private atomic object drm/msm/mdp5: Use the new private_obj state drm/msm: Don't subclass drm_atomic_state anymore Rob Clark (1): drm/atomic: integrate modeset lock with private objects drivers/gpu/drm/drm_atomic.c | 9 ++- drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c | 101 ++++++++++++++++++++--------- drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.h | 26 ++++---- drivers/gpu/drm/msm/disp/mdp5/mdp5_mixer.c | 12 ++-- drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.c | 20 +++--- drivers/gpu/drm/msm/disp/mdp5/mdp5_smp.c | 17 +++-- drivers/gpu/drm/msm/msm_atomic.c | 31 --------- drivers/gpu/drm/msm/msm_drv.c | 3 - drivers/gpu/drm/msm/msm_kms.h | 14 ---- include/drm/drm_atomic.h | 5 ++ 10 files changed, 126 insertions(+), 112 deletions(-) -- 2.14.3 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel