[Intel-gfx] [PATCH 3/4] drm/i915: Dequeue execlists on a new request if any port is available

Chris Wilson chris at chris-wilson.co.uk
Mon Jan 23 11:21:18 UTC 2017


On Mon, Jan 23, 2017 at 10:56:12AM +0000, Tvrtko Ursulin wrote:
> 
> On 21/01/2017 09:28, Chris Wilson wrote:
> >If the second ELSP port is available, schedule the execlists tasklet to
> >see if the new request can occupy it.
> >
> >Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> >Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> >---
> > drivers/gpu/drm/i915/intel_lrc.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> >diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
> >index 9e56e1604e7f..d2cbdc730e14 100644
> >--- a/drivers/gpu/drm/i915/intel_lrc.c
> >+++ b/drivers/gpu/drm/i915/intel_lrc.c
> >@@ -661,7 +661,7 @@ static void execlists_submit_request(struct drm_i915_gem_request *request)
> >
> > 	if (insert_request(&request->priotree, &engine->execlist_queue))
> > 		engine->execlist_first = &request->priotree.node;
> >-	if (execlists_elsp_idle(engine))
> >+	if (execlists_elsp_ready(engine))
> > 		tasklet_hi_schedule(&engine->irq_tasklet);
> >
> > 	spin_unlock_irqrestore(&engine->timeline->lock, flags);
> >
> 
> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

Note that I need to fix the irq_tasklet not to read CSB prior to the
first interrupt before this patch works in all circumstances.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list