drm: Implement drm_modeset_lock_all_ctx()
authorThierry Reding <treding@nvidia.com>
Wed, 2 Dec 2015 16:50:03 +0000 (17:50 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 2 Dec 2015 22:10:59 +0000 (23:10 +0100)
commit06eaae46381737a6236ad6fe81e5358fad3bbbe5
treec5c69b47219e50729a136f0466dec7966f2c8756
parent737292a3c0f251a93dcce4bedf7e4accb35335bc
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)

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>
drivers/gpu/drm/drm_atomic.c
drivers/gpu/drm/drm_modeset_lock.c
include/drm/drm_modeset_lock.h