drm/i915/gem: Perform all asynchronous waits prior to marking payload start
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 7 Oct 2020 09:09:47 +0000 (10:09 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 3 Nov 2020 15:00:06 +0000 (15:00 +0000)
commitc648ae338e927f8fb6dd274646e5825852b7fd63
tree35e3c14d9346c9fb3d24e4fc69cb2812f43548ae
parentbc73e5d33048b7ab5f12b11b5d923700467a8e1d
drm/i915/gem: Perform all asynchronous waits prior to marking payload start

The initial breadcrumb marks the transition from context wait and setup
into the request payload. We use the marker to determine if the request
is merely waiting to begin, or is inside the payload and hung.
Forgetting to include a breadcrumb before the user payload would mean we
do not reset the guilty user request, and conversely if the initial
breadcrumb is too early we blame the user for a problem elsewhere.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201007090947.19950-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gem/i915_gem_client_blt.c