summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2020-12-22 14:35:34 +0300
committerChris Wilson <chris@chris-wilson.co.uk>2020-12-22 17:38:09 +0300
commit48c508a5165229aaf5e9bff5d15d5d3456fb9dc7 (patch)
tree8fa1c196fcb5312f7c41fa3455bbed218d7d41f7
parentb436a5f8b6c83ec2d2bff79cbff3e8a10918340b (diff)
downloadlinux-48c508a5165229aaf5e9bff5d15d5d3456fb9dc7.tar.xz
drm/i915/selftests: Kick timeslice until selftest yields
Keep on kicking the timeslice in case on the first retirement, it did not stay idle. This may happen when using semaphore yields. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Matthew Auld <matthew.auld@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20201222113536.3775-1-chris@chris-wilson.co.uk
-rw-r--r--drivers/gpu/drm/i915/gt/selftest_execlists.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/gt/selftest_execlists.c b/drivers/gpu/drm/i915/gt/selftest_execlists.c
index 7f2a6421f220..2d0d7e17f042 100644
--- a/drivers/gpu/drm/i915/gt/selftest_execlists.c
+++ b/drivers/gpu/drm/i915/gt/selftest_execlists.c
@@ -1173,7 +1173,7 @@ static int live_timeslice_rewind(void *arg)
/* ELSP[] = { { A:rq1, A:rq2 }, { B:rq1 } } */
ENGINE_TRACE(engine, "forcing tasklet for rewind\n");
- if (i915_request_is_active(rq[A2])) { /* semaphore yielded! */
+ while (i915_request_is_active(rq[A2])) { /* semaphore yield! */
/* Wait for the timeslice to kick in */
del_timer(&engine->execlists.timer);
tasklet_hi_schedule(&engine->execlists.tasklet);