From: Chris Wilson Date: Fri, 10 Apr 2020 08:16:38 +0000 (+0100) Subject: drm/i915/selftests: Check for an already completed timeslice X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=c1b5ea926d55239e3e66e41030d9c45c7b876310;p=openwrt%2Fstaging%2Fblogic.git 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: Chris Wilson Reviewed-by: Andi Shyti Link: https://patchwork.freedesktop.org/patch/msgid/20200410081638.19893-1-chris@chris-wilson.co.uk --- diff --git a/drivers/gpu/drm/i915/gt/selftest_lrc.c b/drivers/gpu/drm/i915/gt/selftest_lrc.c index 616d03506c2c..6f5e35afe1b2 100644 --- a/drivers/gpu/drm/i915/gt/selftest_lrc.c +++ b/drivers/gpu/drm/i915/gt/selftest_lrc.c @@ -1252,6 +1252,7 @@ static int live_timeslice_queue(void *arg) } while (READ_ONCE(engine->execlists.pending[0])); if (!READ_ONCE(engine->execlists.timer.expires) && + execlists_active(&engine->execlists) == rq && !i915_request_completed(rq)) { struct drm_printer p = drm_info_printer(gt->i915->drm.dev);