drm/i915/selftests: Small tweak to put the termination conditions together
If we run out of ring space, or exceed the desired runtime, we wish to stop the subtest. Put these checks together, so that we always keep the requests flushed on completion. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20201120140314.24749-3-chris@chris-wilson.co.uk
This commit is contained in:
Родитель
8005f37ca9
Коммит
16cfcb0f3c
|
@ -1090,12 +1090,6 @@ static int live_hwsp_read(void *arg)
|
|||
}
|
||||
count++;
|
||||
|
||||
if (8 * watcher[1].rq->ring->emit >
|
||||
3 * watcher[1].rq->ring->size) {
|
||||
i915_request_put(rq);
|
||||
break;
|
||||
}
|
||||
|
||||
/* Flush the timeline before manually wrapping again */
|
||||
if (i915_request_wait(rq,
|
||||
I915_WAIT_INTERRUPTIBLE,
|
||||
|
@ -1104,9 +1098,14 @@ static int live_hwsp_read(void *arg)
|
|||
i915_request_put(rq);
|
||||
goto out;
|
||||
}
|
||||
|
||||
retire_requests(tl);
|
||||
i915_request_put(rq);
|
||||
|
||||
/* Single requests are limited to half a ring at most */
|
||||
if (8 * watcher[1].rq->ring->emit >
|
||||
3 * watcher[1].rq->ring->size)
|
||||
break;
|
||||
|
||||
} while (!__igt_timeout(end_time, NULL));
|
||||
WRITE_ONCE(*(u32 *)tl->hwsp_seqno, 0xdeadbeef);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче