drm/i915/execlists: Enable timeslice on partial virtual engine dequeue
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 6 Mar 2020 11:30:10 +0000 (11:30 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Sat, 7 Mar 2020 00:05:54 +0000 (00:05 +0000)
commit3df2deed411e0f1b7312baf0139aab8bba4c0410
tree753dd35523c126685fe3f31cccf98d216cfe47f6
parente3e7aeec3281af446d7410d6982020e1aa5795fc
drm/i915/execlists: Enable timeslice on partial virtual engine dequeue

If we stop filling the ELSP due to an incompatible virtual engine
request, check if we should enable the timeslice on behalf of the queue.

This fixes the case where we are inspecting the last->next element when
we know that the last element is the last request in the execution queue,
and so decided we did not need to enable timeslicing despite the intent
to do so!

Fixes: 8ee36e048c98 ("drm/i915/execlists: Minimalistic timeslicing")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: <stable@vger.kernel.org> # v5.4+
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200306113012.3184606-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_lrc.c