[PATCH 0/8] prepare for preparing for atomic (v2)

Rob Clark robdclark at gmail.com
Mon Jun 2 08:33:05 PDT 2014


On Mon, Jun 2, 2014 at 4:11 AM, Daniel Vetter <daniel at ffwll.ch> wrote:
> On Fri, May 30, 2014 at 01:12:02PM -0400, Rob Clark wrote:
>> As suggested by Daniel, splitting out ww_mutex conversion and a few
>> other bits out.  Updated connection_mutex which fixes a few things,
>> plus split up addition of extended property types from adding object
>> property and pull in addition of _restore_fbdev_mode_unlocked() as
>> it does not depend on atomic.
>
> Just a quick note for merging: I prefer we don't pull this into 3.16, at
> least not the locking changes. Due to the rushed merge window I didn't
> have any chances yet to give the connection_mutex patch a real spin in
> drm-intel-nightly, and none of the other drm driver maintainers have
> chimed in about it yet either.

Well, it is at least worth a try.. I'd hate for another merge window
to go by without at least making some progress towards atomic.

Perhaps the other driver maintainers could have a look at the locking
change and lend their r-b and/or t-b?

I think the locking changes should be sound.. maybe we have to fix up
one or two things during the -rc's, but not like the concept to split
out connection_mutex, or usage of ww_mutex, is fundamentally broken.

The other drivers make somewhat less heavy use of mode_config.mutex
directly, and should be protected from the change by
drm_modeset_lock_all().. most of the other references outside of i915
are gma500/vmwgfx, plus few places that need to grab it to call
drm_framebuffer_unreference() (which perhaps deserves a
drm_framebuffer_unreference_unlocked() helper).

BR,
-R

> -Daniel
>
>>
>> Can be found at:
>>
>>   http://cgit.freedesktop.org/~robclark/linux/log/?h=atomic-prep
>>   git://people.freedesktop.org/~robclark/linux atomic-prep
>>
>> Daniel Vetter (1):
>>   drm: Split connection_mutex out of mode_config.mutex (v3)
>>
>> Rob Clark (7):
>>   drm: helpers to find mode objects
>>   drm: add extended property types
>>   drm: add object property type
>>   drm: add signed-range property type
>>   drm: spiff out FB refcnting traces
>>   drm: convert crtc and connection_mutex to ww_mutex (v3)
>>   drm: add drm_fb_helper_restore_fbdev_mode_unlocked()
>>
>>  drivers/gpu/drm/Makefile                   |   2 +-
>>  drivers/gpu/drm/armada/armada_fbdev.c      |   4 +-
>>  drivers/gpu/drm/drm_crtc.c                 | 295 +++++++++++++++++++----------
>>  drivers/gpu/drm/drm_crtc_helper.c          |   1 +
>>  drivers/gpu/drm/drm_edid.c                 |   2 +
>>  drivers/gpu/drm/drm_fb_cma_helper.c        |   9 +-
>>  drivers/gpu/drm/drm_fb_helper.c            |  55 ++++--
>>  drivers/gpu/drm/drm_modeset_lock.c         | 179 +++++++++++++++++
>>  drivers/gpu/drm/drm_plane_helper.c         |   7 +
>>  drivers/gpu/drm/exynos/exynos_drm_fbdev.c  |   4 +-
>>  drivers/gpu/drm/gma500/psb_drv.c           |   4 +-
>>  drivers/gpu/drm/i915/i915_debugfs.c        |   4 +-
>>  drivers/gpu/drm/i915/i915_drv.c            |   4 +-
>>  drivers/gpu/drm/i915/intel_crt.c           |   5 +-
>>  drivers/gpu/drm/i915/intel_display.c       |  60 ++++--
>>  drivers/gpu/drm/i915/intel_dp.c            |  15 +-
>>  drivers/gpu/drm/i915/intel_drv.h           |   6 +-
>>  drivers/gpu/drm/i915/intel_fbdev.c         |   6 +-
>>  drivers/gpu/drm/i915/intel_opregion.c      |   4 +-
>>  drivers/gpu/drm/i915/intel_overlay.c       |   4 +-
>>  drivers/gpu/drm/i915/intel_panel.c         |   8 +-
>>  drivers/gpu/drm/i915/intel_sprite.c        |   2 +-
>>  drivers/gpu/drm/i915/intel_tv.c            |   5 +-
>>  drivers/gpu/drm/msm/msm_drv.c              |   7 +-
>>  drivers/gpu/drm/omapdrm/omap_crtc.c        |  10 +-
>>  drivers/gpu/drm/omapdrm/omap_drv.c         |   4 +-
>>  drivers/gpu/drm/omapdrm/omap_fb.c          |   1 +
>>  drivers/gpu/drm/radeon/radeon_connectors.c |   1 +
>>  drivers/gpu/drm/tegra/fb.c                 |   7 +-
>>  drivers/gpu/drm/vmwgfx/vmwgfx_kms.c        |   8 +-
>>  include/drm/drmP.h                         |   5 -
>>  include/drm/drm_crtc.h                     |  81 +++++++-
>>  include/drm/drm_fb_helper.h                |   1 +
>>  include/drm/drm_modeset_lock.h             | 103 ++++++++++
>>  include/uapi/drm/drm_mode.h                |  15 ++
>>  35 files changed, 716 insertions(+), 212 deletions(-)
>>  create mode 100644 drivers/gpu/drm/drm_modeset_lock.c
>>  create mode 100644 include/drm/drm_modeset_lock.h
>>
>> --
>> 1.9.3
>>
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the dri-devel mailing list