On Wed, Apr 06, 2016 at 12:32:29PM +0300, Mika Kuoppala wrote: > Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > > > [ text/plain ] > > Having fixed the tracking of the engine's last_submitted_seqno, we can > > now rely on it for detecting when the engine is idle (and not have to > > touch the requests pointer). > > > > Testcase: igt/gem_exec_whisper > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > > Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> > > Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> > > --- > > drivers/gpu/drm/i915/i915_irq.c | 3 +-- > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c > > index c85eb8dec2dc..a56be4f92264 100644 > > --- a/drivers/gpu/drm/i915/i915_irq.c > > +++ b/drivers/gpu/drm/i915/i915_irq.c > > @@ -2805,8 +2805,7 @@ static void gen8_disable_vblank(struct drm_device *dev, unsigned int pipe) > > static bool > > ring_idle(struct intel_engine_cs *engine, u32 seqno) > > { > > - return (list_empty(&engine->request_list) || > > - i915_seqno_passed(seqno, engine->last_submitted_seqno)); > > + return i915_seqno_passed(seqno, engine->last_submitted_seqno); > > My concern here is that we should move the write for the > last_submitted_seqno before we push the work into ring. > > To guarantee that the driver never sees a seqno > last_submitted_seqno > on particular ring. Reasonable request. You'll want a smp_store_mb() on the last_submitted_seqno as well with a comment /* barrier for hangcheck */ In return what's up with the Braswell? -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx