On Thu, Sep 21, 2017 at 10:09:03PM +0100, Chris Wilson wrote: > After we see our target seqno has been completed by the hw, we need to > confirm that it still matches the request (as it may have been preempted > before the spin completes). If the request no longer matches the target > seqno, we need to restart the wait to reacquire that seqno. > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > Cc: Michal Winiarski <michal.winiarski@xxxxxxxxx> Reviewed-by: Michał Winiarski <michal.winiarski@xxxxxxxxx> -Michał > --- > drivers/gpu/drm/i915/i915_gem_request.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_request.c b/drivers/gpu/drm/i915/i915_gem_request.c > index 813a3b546d6e..289fb08acaf5 100644 > --- a/drivers/gpu/drm/i915/i915_gem_request.c > +++ b/drivers/gpu/drm/i915/i915_gem_request.c > @@ -1040,12 +1040,9 @@ bool __i915_spin_request(const struct drm_i915_gem_request *req, > irq = atomic_read(&engine->irq_count); > timeout_us += local_clock_us(&cpu); > do { > - if (seqno != i915_gem_request_global_seqno(req)) > - break; > - > if (i915_seqno_passed(intel_engine_get_seqno(req->engine), > seqno)) > - return true; > + return seqno == i915_gem_request_global_seqno(req); > > /* Seqno are meant to be ordered *before* the interrupt. If > * we see an interrupt without a corresponding seqno advance, > -- > 2.14.1 > _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx