Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > The continual resubmission model for execlists (and emulated over guc) > requires that we keep feeding requests into the HW in order to generate > more CS interrupts to drain the rest of the queue. Add a couple of > asserts to ensure that we don't skip a cycle and come to a grinding > halt. > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Michał Winiarski <michal.winiarski@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_guc_submission.c | 6 ++++++ > drivers/gpu/drm/i915/intel_lrc.c | 6 ++++++ > 2 files changed, 12 insertions(+) > > diff --git a/drivers/gpu/drm/i915/intel_guc_submission.c b/drivers/gpu/drm/i915/intel_guc_submission.c > index b43b58cc599b..946766b62459 100644 > --- a/drivers/gpu/drm/i915/intel_guc_submission.c > +++ b/drivers/gpu/drm/i915/intel_guc_submission.c > @@ -747,6 +747,12 @@ static void guc_dequeue(struct intel_engine_cs *engine) > execlists_set_active(execlists, EXECLISTS_ACTIVE_USER); > guc_submit(engine); > } > + > + /* We must always keep the beast fed if we have work piled up */ > + GEM_BUG_ON(port_isset(execlists->port) && > + !execlists_is_active(execlists, EXECLISTS_ACTIVE_USER)); > + GEM_BUG_ON(execlists->first && !port_isset(execlists->port)); > + > unlock: > spin_unlock_irq(&engine->timeline->lock); > } > diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c > index c2c8380a0121..6fbe1a8a37ad 100644 > --- a/drivers/gpu/drm/i915/intel_lrc.c > +++ b/drivers/gpu/drm/i915/intel_lrc.c > @@ -642,6 +642,12 @@ static void execlists_dequeue(struct intel_engine_cs *engine) > execlists->first = rb; > if (submit) > port_assign(port, last); > + > + /* We must always keep the beast fed if we have work piled up */ > + GEM_BUG_ON(port_isset(execlists->port) && > + !execlists_is_active(execlists, EXECLISTS_ACTIVE_USER)); > + GEM_BUG_ON(execlists->first && !port_isset(execlists->port)); > + > unlock: > spin_unlock_irq(&engine->timeline->lock); > > -- > 2.16.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx