drm/i915: Split breadcrumbs spinlock into two
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 3 Mar 2017 19:08:24 +0000 (19:08 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 3 Mar 2017 20:19:13 +0000 (20:19 +0000)
commit61d3dc708077de316bdcafd66016c2285da07275
treef5796f8ae6edc99f0cddb6377bea0153f569e1dc
parentb66255f0f77902ef41b09163a6a092d2d905e151
drm/i915: Split breadcrumbs spinlock into two

As we now take the breadcrumbs spinlock within the interrupt handler, we
wish to minimise its hold time. During the interrupt we do not care
about the state of the full rbtree, only that of the first element, so
we can guard that with a separate lock.

v2: Rename first_wait to irq_wait to make it clearer that it is guarded
by irq_lock.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170303190824.1330-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_debugfs.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gpu_error.c
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/intel_breadcrumbs.c
drivers/gpu/drm/i915/intel_ringbuffer.h
drivers/gpu/drm/i915/selftests/intel_breadcrumbs.c