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
This commit is contained in:
parent
b436a5f8b6
commit
48c508a516
|
@ -1173,7 +1173,7 @@ static int live_timeslice_rewind(void *arg)
|
||||||
|
|
||||||
/* ELSP[] = { { A:rq1, A:rq2 }, { B:rq1 } } */
|
/* ELSP[] = { { A:rq1, A:rq2 }, { B:rq1 } } */
|
||||||
ENGINE_TRACE(engine, "forcing tasklet for rewind\n");
|
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 */
|
/* Wait for the timeslice to kick in */
|
||||||
del_timer(&engine->execlists.timer);
|
del_timer(&engine->execlists.timer);
|
||||||
tasklet_hi_schedule(&engine->execlists.tasklet);
|
tasklet_hi_schedule(&engine->execlists.tasklet);
|
||||||
|
|
Loading…
Reference in New Issue