UPSTREAM: drm: Implement drm_modeset_lock_all_ctx()
authorThierry Reding <treding@nvidia.com>
Wed, 2 Dec 2015 16:50:03 +0000 (17:50 +0100)
committerGerrit Code Review <gerrit@rock-chips.com>
Mon, 8 Aug 2016 06:39:25 +0000 (14:39 +0800)
commit8b9bfee228e626e2979a276c172836ccc4a28525
treef20cf1fc3f02b9444eb24afda7b77cc775b10a27
parentc9934c739f5c20fca13d4b5c904da78da652c153
UPSTREAM: drm: Implement drm_modeset_lock_all_ctx()

This function is like drm_modeset_lock_all(), but it takes the lock
acquisition context as a parameter rather than storing it in the DRM
device's mode_config structure.

Implement drm_modeset_{,un}lock_all() in terms of the new function for
better code reuse, and add a note to the kerneldoc that new code should
use the new functions.

v2: improve kerneldoc
v4: rename drm_modeset_lock_all_crtcs() to drm_modeset_lock_all_ctx()
    and take mode_config's .connection_mutex instead of .mutex lock to
    avoid lock inversion (Daniel Vetter), use drm_modeset_drop_locks()
    which is now the equivalent of drm_modeset_unlock_all_ctx()
v5: do not take the dev->mode_config.connection_mutex in
    drm_atomic_legacy_backoff() since drm_modeset_lock_all_ctx()
    already keeps it, enhance kerneldoc for drm_modeset_lock_all_ctx()
    (Daniel Vetter)

Change-Id: I1f16f686f77139b749b38c7a3a0dbc0b5d25f6fd
Signed-off-by: Thierry Reding <treding@nvidia.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1449075005-13937-1-git-send-email-thierry.reding@gmail.com
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
(cherry picked from commit 06eaae46381737a6236ad6fe81e5358fad3bbbe5)
drivers/gpu/drm/drm_atomic.c
drivers/gpu/drm/drm_modeset_lock.c
include/drm/drm_modeset_lock.h