Commit 16cfcb0f authored by Chris Wilson's avatar Chris Wilson

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: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201120140314.24749-3-chris@chris-wilson.co.uk
parent 8005f37c
...@@ -1090,12 +1090,6 @@ static int live_hwsp_read(void *arg) ...@@ -1090,12 +1090,6 @@ static int live_hwsp_read(void *arg)
} }
count++; 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 */ /* Flush the timeline before manually wrapping again */
if (i915_request_wait(rq, if (i915_request_wait(rq,
I915_WAIT_INTERRUPTIBLE, I915_WAIT_INTERRUPTIBLE,
...@@ -1104,9 +1098,14 @@ static int live_hwsp_read(void *arg) ...@@ -1104,9 +1098,14 @@ static int live_hwsp_read(void *arg)
i915_request_put(rq); i915_request_put(rq);
goto out; goto out;
} }
retire_requests(tl); retire_requests(tl);
i915_request_put(rq); 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)); } while (!__igt_timeout(end_time, NULL));
WRITE_ONCE(*(u32 *)tl->hwsp_seqno, 0xdeadbeef); WRITE_ONCE(*(u32 *)tl->hwsp_seqno, 0xdeadbeef);
......
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