drm/i915/gt: Start timeslice on partial submission

We may choose to only submit ELSP[0], even though we have sufficient
requests to fill the whole ELSP. Normally, we only start timeslicing if
we fill more than one port, but in this case we need to start
timeslicing for the queue that we choose not to submit.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200528205727.20309-1-chris@chris-wilson.co.uk
This commit is contained in:
Chris Wilson 2020-05-28 21:57:27 +01:00
parent ba03a63d76
commit 2010b7f0a8
1 changed files with 3 additions and 1 deletions

View File

@ -2358,8 +2358,10 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
if (last->context == rq->context)
goto done;
if (i915_request_has_sentinel(last))
if (i915_request_has_sentinel(last)) {
start_timeslice(engine, rq_prio(rq));
goto done;
}
/*
* If GVT overrides us we only ever submit