drm/i915: Disable semaphore inter-engine sync without timeslicing
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 21 May 2020 14:06:16 +0000 (15:06 +0100)
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Mon, 25 May 2020 12:40:35 +0000 (15:40 +0300)
commit9ef36fc2d0347f04f75b9d70c0ecc2e3b403bb7f
tree6a794943621ad9aef9b396cf9c031a014772dae5
parentb7ccc7858a33ddb3c5516f39b104a9156957c8bb
drm/i915: Disable semaphore inter-engine sync without timeslicing

Since the removal of the no-semaphore boosting, we rely on timeslicing to
reorder passed inter-dependency hogs across the engines. However, we
require preemption to support timeslicing into user payloads, and not all
machine support preemption so we do not universally enable timeslicing,
even when it would correctly preempt our own inter-engine semaphores.
Since timeslicing and semaphore priority deboosting is now disabled on
Broadwell/Braswell, we have to follow suite and not use semaphores.

Testcase: igt/gem_exec_schedule/semaphore-codependency # bdw/bsw
Fixes: 18e4af04d218 ("drm/i915: Drop no-semaphore boosting")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200521140617.30015-1-chris@chris-wilson.co.uk
(cherry picked from commit 0eb670aac27b1d615004c29efec595616e3e091a)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/gem/i915_gem_context.c