Commit 12b67c2e authored by Chris Wilson's avatar Chris Wilson
Browse files

drm/i915/gt: Always check to enable timeslicing if not submitting



We may choose not to submit for a number of reasons, yet not fill both
ELSP. In which case we must start timeslicing (there will be no ACK
event on which to hook the start) if the queue would benefit from the
currently active context being evicted.

Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarMika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200605122334.2798-2-chris@chris-wilson.co.uk
parent fdd4f941
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -2362,10 +2362,8 @@ static void execlists_dequeue(struct intel_engine_cs *engine)
				if (last->context == rq->context)
					goto done;

				if (i915_request_has_sentinel(last)) {
					start_timeslice(engine, rq_prio(rq));
				if (i915_request_has_sentinel(last))
					goto done;
				}

				/*
				 * If GVT overrides us we only ever submit
@@ -2446,6 +2444,7 @@ done:
		set_preempt_timeout(engine, *active);
		execlists_submit_ports(engine);
	} else {
		start_timeslice(engine, execlists->queue_priority_hint);
skip_submit:
		ring_set_paused(engine, 0);
	}