On Tue, Mar 20, 2018 at 12:18:45AM +0000, Chris Wilson wrote: > As a complement to inject_preempt_context(), follow up with the function > to handle its completion. This will be useful should we wish to extend > the duties of the preempt-context for execlists. > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Jeff McGee <jeff.mcgee@xxxxxxxxx> > Cc: Michał Winiarski <michal.winiarski@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_lrc.c | 22 ++++++++++++---------- > 1 file changed, 12 insertions(+), 10 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c > index 53f1c009ed7b..0bfaeb56b8c7 100644 > --- a/drivers/gpu/drm/i915/intel_lrc.c > +++ b/drivers/gpu/drm/i915/intel_lrc.c > @@ -531,8 +531,17 @@ static void inject_preempt_context(struct intel_engine_cs *engine) > if (execlists->ctrl_reg) > writel(EL_CTRL_LOAD, execlists->ctrl_reg); > > - execlists_clear_active(&engine->execlists, EXECLISTS_ACTIVE_HWACK); > - execlists_set_active(&engine->execlists, EXECLISTS_ACTIVE_PREEMPT); > + execlists_clear_active(execlists, EXECLISTS_ACTIVE_HWACK); > + execlists_set_active(execlists, EXECLISTS_ACTIVE_PREEMPT); > +} > + > +static void complete_preempt_context(struct intel_engine_execlists *execlists) > +{ > + execlists_cancel_port_requests(execlists); > + execlists_unwind_incomplete_requests(execlists); > + > + GEM_BUG_ON(!execlists_is_active(execlists, EXECLISTS_ACTIVE_PREEMPT)); > + execlists_clear_active(execlists, EXECLISTS_ACTIVE_PREEMPT); > } > > static void execlists_dequeue(struct intel_engine_cs *engine) > @@ -939,14 +948,7 @@ static void execlists_submission_tasklet(unsigned long data) > if (status & GEN8_CTX_STATUS_COMPLETE && > buf[2*head + 1] == execlists->preempt_complete_status) { > GEM_TRACE("%s preempt-idle\n", engine->name); > - > - execlists_cancel_port_requests(execlists); > - execlists_unwind_incomplete_requests(execlists); > - > - GEM_BUG_ON(!execlists_is_active(execlists, > - EXECLISTS_ACTIVE_PREEMPT)); > - execlists_clear_active(execlists, > - EXECLISTS_ACTIVE_PREEMPT); > + complete_preempt_context(execlists); > continue; > } > > -- > 2.16.2 > Reviewed-by: Jeff McGee <jeff.mcgee@xxxxxxxxx> _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx