]> git.baikalelectronics.ru Git - kernel.git/commit
drm/probe-helpers: Drop locking from poll_enable
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 11 Jan 2017 09:01:17 +0000 (10:01 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 12 Jan 2017 19:31:17 +0000 (20:31 +0100)
commit767251e36de734f67f54a4e91ade7abb63d066fd
tree4f7e6dfbf41fad6d5b1b72b8b85f3761c9a0b151
parent529dd8b2864f1c81a4add1bc6e9922c5af5c04ad
drm/probe-helpers: Drop locking from poll_enable

It was only needed to protect the connector_list walking, see

commit a425d2a431f96de2d4f83fa739a7dcf5b4882a36
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Thu Jul 9 23:44:26 2015 +0200

    drm/probe-helper: Grab mode_config.mutex in poll_init/enable

Unfortunately the commit message of that patch fails to mention that
the new locking check was for the connector_list.

But that requirement disappeared in

commit c36a3254f7857f1ad9badbe3578ccc92be541a8e
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Thu Dec 15 16:58:43 2016 +0100

    drm: Convert all helpers to drm_connector_list_iter

and so we can drop this again.

This fixes a locking inversion on nouveau, where the rpm code needs to
re-enable. But in other places the rpm_get() calls are nested within
the big modeset locks.

While at it, also improve the kerneldoc for these two functions a
notch.

v2: Update the kerneldoc even more to explain that these functions
can't be called concurrently, or bad things happen (Chris).

Cc: Dave Airlie <airlied@gmail.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Tested-by: Lyude <lyude@redhat.com>
Reviewed-by: Lyude <lyude@redhat.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170111090117.5134-1-daniel.vetter@ffwll.ch
drivers/gpu/drm/drm_probe_helper.c
drivers/gpu/drm/i915/intel_hotplug.c
include/drm/drm_crtc_helper.h