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 <ch...@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuopp...@linux.intel.com>
---
 drivers/gpu/drm/i915/gt/selftest_timeline.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/selftest_timeline.c 
b/drivers/gpu/drm/i915/gt/selftest_timeline.c
index 2edf2b15885f..ef7e3ce8c60c 100644
--- a/drivers/gpu/drm/i915/gt/selftest_timeline.c
+++ b/drivers/gpu/drm/i915/gt/selftest_timeline.c
@@ -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,13 @@ static int live_hwsp_read(void *arg)
                                i915_request_put(rq);
                                goto out;
                        }
-
                        retire_requests(tl);
                        i915_request_put(rq);
+
+                       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);
 
-- 
2.20.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to