drm/i915/gt: Move the breadcrumb to the signaler if completed upon cancel
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 26 Nov 2020 14:04:07 +0000 (14:04 +0000)
committerJani Nikula <jani.nikula@intel.com>
Tue, 2 Feb 2021 11:38:51 +0000 (13:38 +0200)
commit9f5dc9974298aea9690c7a0f7007f1af37198230
tree75f1f13773268f344f9b51f30766eb1a63ddb4a3
parent00f9a08fbc3c703b71842a5425c1eb82053c8a70
drm/i915/gt: Move the breadcrumb to the signaler if completed upon cancel

If while we are cancelling the breadcrumb signaling, we find that the
request is already completed, move it to the irq signaler and let it be
signaled.

v2: Tweak reference counting so that we only acquire a new reference on
adding to a signal list, as opposed to a hidden i915_request_put of the
caller's reference.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201126140407.31952-5-chris@chris-wilson.co.uk
(cherry picked from commit 85cc2917a3965a3a747a6407d6e3028cfeb1534e)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/gt/intel_breadcrumbs.c