]> git.proxmox.com Git - mirror_ubuntu-kernels.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)
commit3846fd9b86001bea171943cc3bb9222cb6da6b42
tree4f7e6dfbf41fad6d5b1b72b8b85f3761c9a0b151
parentfdf35a6b22247746a7053fc764d04218a9306f82
drm/probe-helpers: Drop locking from poll_enable

It was only needed to protect the connector_list walking, see

commit 8c4ccc4ab6f64e859d4ff8d7c02c2ed2e956e07f
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