[PATCH 0/4] drm/msm: Avoid subclassing of drm_atomic_state

Rob Clark robdclark at gmail.com
Wed Feb 21 14:37:20 UTC 2018


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



More information about the dri-devel mailing list