drm/i915: Redo "Remove i915_request.lock requirement for execution callbacks"
The reordering and rebasing of commit2e4c6c1a9d
("drm/i915: Remove i915_request.lock requirement for execution callbacks") caused it to revert an earlier correction. Let us restore commit 99f0a640d464 ("drm/i915: Remove requirement for holding i915_request.lock for breadcrumbs") Fixes:2e4c6c1a9d
("drm/i915: Remove i915_request.lock requirement for execution callbacks") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200925101107.27869-1-chris@chris-wilson.co.uk
This commit is contained in:
@ -593,16 +593,8 @@ xfer:
|
||||
__notify_execute_cb_irq(request);
|
||||
|
||||
/* We may be recursing from the signal callback of another i915 fence */
|
||||
if (!i915_request_signaled(request)) {
|
||||
spin_lock_nested(&request->lock, SINGLE_DEPTH_NESTING);
|
||||
|
||||
if (test_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT,
|
||||
&request->fence.flags) &&
|
||||
!i915_request_enable_breadcrumb(request))
|
||||
intel_engine_signal_breadcrumbs(engine);
|
||||
|
||||
spin_unlock(&request->lock);
|
||||
}
|
||||
if (test_bit(DMA_FENCE_FLAG_ENABLE_SIGNAL_BIT, &request->fence.flags))
|
||||
i915_request_enable_breadcrumb(request);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
Reference in New Issue
Block a user