>-----Original Message-----
>From: Intel-gfx <[email protected]> On Behalf Of Chris
>Wilson
>Sent: Friday, April 3, 2020 3:02 PM
>To: [email protected]
>Cc: Chris Wilson <[email protected]>
>Subject: [Intel-gfx] [PATCH] drm/i915/selftests: Wait until we start 
>timeslicing
>after a submit
>
>If we submit, we do not start timeslicnig until we process the CS event

s/timeslicnig/timeslicing/

>that marks the start of the context running on HW. So in the selftest,
>be sure to wait until we have processed the pending events before
>asserting that timeslicing has begun.
>
>Signed-off-by: Chris Wilson <[email protected]>
>---
> drivers/gpu/drm/i915/gt/selftest_lrc.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
>diff --git a/drivers/gpu/drm/i915/gt/selftest_lrc.c
>b/drivers/gpu/drm/i915/gt/selftest_lrc.c
>index 985d4041d929..9e02917695b1 100644
>--- a/drivers/gpu/drm/i915/gt/selftest_lrc.c
>+++ b/drivers/gpu/drm/i915/gt/selftest_lrc.c
>@@ -1244,7 +1244,11 @@ static int live_timeslice_queue(void *arg)
>               if (err)
>                       goto err_rq;
>
>-              intel_engine_flush_submission(engine);
>+              /* Wait until we ack the release_queue and start timeslicing
>*/
>+              do {
>+                      intel_engine_flush_submission(engine);
>+              } while (READ_ONCE(engine->execlists.pending[0]));

Is this guaranteed to clear?  Or should there be a count to protect against
the endless loop?

Or am I too paranoid? 😊

M

>               if (!READ_ONCE(engine->execlists.timer.expires) &&
>                   !i915_request_completed(rq)) {
>                       struct drm_printer p =
>--
>2.20.1
>
>_______________________________________________
>Intel-gfx mailing list
>[email protected]
>https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to