]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/gt: Add arbitration check before semaphore wait
authorChris Wilson <chris@chris-wilson.co.uk>
Sun, 17 Jan 2021 11:04:18 +0000 (11:04 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Mon, 18 Jan 2021 12:37:20 +0000 (12:37 +0000)
commitb2d8313f4c2cdd6ddaf568c0faef883442c3f638
tree87212869feb3a1dcb172700e44581bd584032969
parent56fbdf281f94887486626b2b513bcac9dc54015d
drm/i915/gt: Add arbitration check before semaphore wait

Similar to commit 22d1e84c4764 ("drm/i915/gt: Perform an arbitration
check before busywaiting"), also add a check prior to the busywait
on gen8+, as we have now seen (because we added a selftest to add fault
injection into the engine resets) the same engine reset failure leading
to an indefinite wait on the ring-stop semaphore. So not a Tigerlake
specific bug after all, though it still seems odd behaviour for the
busywait as we do get the arbitration point elsewhere on a miss.

Testcase: igt_reset_fail_engine
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210117110418.3361-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/gen8_engine_cs.c