Commit 4dbd3944 authored by Matthew Brost's avatar Matthew Brost Committed by John Harrison

drm/i915/guc: Disable semaphores when using GuC scheduling

Semaphores are an optimization and not required for basic GuC submission
to work properly. Disable until we have time to do the implementation to
enable semaphores and tune them for performance. Also long direction is
just to delete semaphores from the i915 so another reason to not enable
these for GuC submission.

This patch fixes an existing bugs where I915_ENGINE_HAS_SEMAPHORES was
not honored correctly.

v2: Reword commit message
v3:
 (John H)
  - Add text to commit indicating this also fixing an existing bug
v4:
 (John H)
  - s/bug/bugs

Cc: John Harrison <john.c.harrison@intel.com>
Signed-off-by: default avatarMatthew Brost <matthew.brost@intel.com>
Reviewed-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
Signed-off-by: default avatarJohn Harrison <John.C.Harrison@Intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210721215101.139794-14-matthew.brost@intel.com
parent 38d5ec43
...@@ -799,7 +799,8 @@ static int intel_context_set_gem(struct intel_context *ce, ...@@ -799,7 +799,8 @@ static int intel_context_set_gem(struct intel_context *ce,
} }
if (ctx->sched.priority >= I915_PRIORITY_NORMAL && if (ctx->sched.priority >= I915_PRIORITY_NORMAL &&
intel_engine_has_timeslices(ce->engine)) intel_engine_has_timeslices(ce->engine) &&
intel_engine_has_semaphores(ce->engine))
__set_bit(CONTEXT_USE_SEMAPHORES, &ce->flags); __set_bit(CONTEXT_USE_SEMAPHORES, &ce->flags);
if (IS_ACTIVE(CONFIG_DRM_I915_REQUEST_TIMEOUT) && if (IS_ACTIVE(CONFIG_DRM_I915_REQUEST_TIMEOUT) &&
...@@ -1778,7 +1779,8 @@ static void __apply_priority(struct intel_context *ce, void *arg) ...@@ -1778,7 +1779,8 @@ static void __apply_priority(struct intel_context *ce, void *arg)
if (!intel_engine_has_timeslices(ce->engine)) if (!intel_engine_has_timeslices(ce->engine))
return; return;
if (ctx->sched.priority >= I915_PRIORITY_NORMAL) if (ctx->sched.priority >= I915_PRIORITY_NORMAL &&
intel_engine_has_semaphores(ce->engine))
intel_context_set_use_semaphores(ce); intel_context_set_use_semaphores(ce);
else else
intel_context_clear_use_semaphores(ce); intel_context_clear_use_semaphores(ce);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment