[PATCH 00/14] drm_connector locking rules, v2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

So this is the second iteration of my connector locking series. This tries to
clarify the cargo-culted locking rules around hotadd/removing drm_connector,
which was added to support DP MST. I want to get this in first for a release or
so just to document all the locking rules we have (and make sure there's no
callchain that I've forgotten) before trying to rework the connector lifetime
handling to not require massive amounts of locks and block everything in
hotadd/remove.

Changes to last time around:
- Now with radeon!
- No hotplug for encoders, so no locking WARNINGs for those (Dave).
- A bit of polish all over.
- Thrown in the mode_group removal for good measure (but that one's really not
  related to this, only noticed it while reading around code).

Feedback, review and comments highly welcome!

Cheers, Daniel

Daniel Vetter (14):
  drm: Simplify drm_for_each_legacy_plane arguments
  drm: Add modeset object iterators
  drm/probe-helper: Grab mode_config.mutex in poll_init/enable
  drm/fbdev-helper: Grab mode_config.mutex in
    drm_fb_helper_single_add_all_connectors
  drm: Check locking in drm_for_each_connector
  drm/i915: Use drm_for_each_fb in i915_debugfs.c
  drm: Check locking in drm_for_each_fb
  drm/i915: Take all modeset locks for DP MST hotplug
  drm/radeon: Take all modeset locks for DP MST hotplug
  drm: Amend connector list locking rules
  drm: Roll out drm_for_each_connector more
  drm: Roll out drm_for_each_{plane,crtc,encoder}
  drm: Stop filtering according to mode_group in getresources
  drm: gc now dead mode_group code

 drivers/gpu/drm/drm_atomic.c              |   2 +-
 drivers/gpu/drm/drm_atomic_helper.c       |   4 +-
 drivers/gpu/drm/drm_crtc.c                | 206 +++++++-----------------------
 drivers/gpu/drm/drm_crtc_helper.c         |  42 +++---
 drivers/gpu/drm/drm_drv.c                 |  12 --
 drivers/gpu/drm/drm_edid.c                |   2 +-
 drivers/gpu/drm/drm_fb_cma_helper.c       |   2 +-
 drivers/gpu/drm/drm_fb_helper.c           |  19 ++-
 drivers/gpu/drm/drm_modeset_lock.c        |   7 +-
 drivers/gpu/drm/drm_of.c                  |   2 +-
 drivers/gpu/drm/drm_plane_helper.c        |   3 +-
 drivers/gpu/drm/drm_probe_helper.c        |  45 ++++---
 drivers/gpu/drm/i915/i915_debugfs.c       |   4 +-
 drivers/gpu/drm/i915/intel_dp_mst.c       |  15 +--
 drivers/gpu/drm/i915/intel_pm.c           |   2 +-
 drivers/gpu/drm/radeon/radeon_dp_mst.c    |  11 +-
 drivers/gpu/drm/shmobile/shmob_drm_crtc.c |   2 +-
 include/drm/drmP.h                        |   1 -
 include/drm/drm_crtc.h                    |  67 ++++++----
 19 files changed, 170 insertions(+), 278 deletions(-)

-- 
2.1.4

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux