Commit c1b5ea92 authored by Chris Wilson's avatar Chris Wilson

drm/i915/selftests: Check for an already completed timeslice

With timeslice yielding on a semaphore, we may complete timeslices much
faster than we were expecting and already have yielded the stuck
request. Before complaining that timeslicing is not enabled, check that
we haven't already applied the switch.
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarAndi Shyti <andi.shyti@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200410081638.19893-1-chris@chris-wilson.co.uk
parent 538c329f
...@@ -1252,6 +1252,7 @@ static int live_timeslice_queue(void *arg) ...@@ -1252,6 +1252,7 @@ static int live_timeslice_queue(void *arg)
} while (READ_ONCE(engine->execlists.pending[0])); } while (READ_ONCE(engine->execlists.pending[0]));
if (!READ_ONCE(engine->execlists.timer.expires) && if (!READ_ONCE(engine->execlists.timer.expires) &&
execlists_active(&engine->execlists) == rq &&
!i915_request_completed(rq)) { !i915_request_completed(rq)) {
struct drm_printer p = struct drm_printer p =
drm_info_printer(gt->i915->drm.dev); drm_info_printer(gt->i915->drm.dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment