drm/atomic: Prepare drm_modeset_lock infrastructure for interruptible waiting, v2.
authorMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Tue, 12 Sep 2017 13:37:44 +0000 (15:37 +0200)
committerMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Wed, 13 Sep 2017 07:50:52 +0000 (09:50 +0200)
commit6f8bcc744aad50d719845e4ce06a7831e96e1109
treeb80456af140c02f8b25c778bd01f54acc85df2b5
parent9ab12e88a0b46b4e6fa32bb0a2875c813a928e73
drm/atomic: Prepare drm_modeset_lock infrastructure for interruptible waiting, v2.

When we want to make drm_atomic_commit interruptible, there are a lot of
places that call the lock function, which we don't have control over.

Rather than trying to convert every single one, it's easier to toggle
interruptible waiting per acquire_ctx. If drm_modeset_acquire_init is
called with DRM_MODESET_ACQUIRE_INTERRUPTIBLE, then we will perform
interruptible waits in drm_modeset_lock and drm_modeset_backoff.

Changes since v1:
- Fix locking example in drm_modeset_lock.c to be compatible
  with interruptible waiting (xexaxo) and make it default.
  Uninterruptible waiting shouldn't happen except in corner cases,
  but the example will still apply if the flag is removed.
- Add drm_modeset_lock_single_interruptible() to documentation.
- Fix dead link to removed drm_modeset_lock_interruptible() in
  drm_modeset_lock().

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> #v1
Cc: Emil Velikov <emil.l.velikov@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20170912133749.6532-2-maarten.lankhorst@linux.intel.com
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
drivers/gpu/drm/drm_debugfs_crc.c
drivers/gpu/drm/drm_modeset_lock.c
include/drm/drm_modeset_lock.h