On Tue, May 25, 2021 at 10:52:01AM +0100, Tvrtko Ursulin wrote: > > On 06/05/2021 20:14, Matthew Brost wrote: > > Disable semaphores when using GuC scheduling as semaphores are broken in > > the current GuC firmware. > > What is "current"? Given that the patch itself is like year and a half old. > Stale comment. Semaphore work with the firmware we just haven't enabled them in the i915 with GuC submission as this an optimization and not required for functionality. Matt > Regards, > > Tvrtko > > > Cc: John Harrison <john.c.harrison@xxxxxxxxx> > > Signed-off-by: Matthew Brost <matthew.brost@xxxxxxxxx> > > --- > > drivers/gpu/drm/i915/gem/i915_gem_context.c | 6 ++++-- > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c > > index 993faa213b41..d30260ffe2a7 100644 > > --- a/drivers/gpu/drm/i915/gem/i915_gem_context.c > > +++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c > > @@ -230,7 +230,8 @@ static void intel_context_set_gem(struct intel_context *ce, > > ce->timeline = intel_timeline_get(ctx->timeline); > > 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); > > intel_context_set_watchdog_us(ce, ctx->watchdog.timeout_us); > > @@ -1939,7 +1940,8 @@ static int __apply_priority(struct intel_context *ce, void *arg) > > if (!intel_engine_has_timeslices(ce->engine)) > > return 0; > > - 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); > > else > > intel_context_clear_use_semaphores(ce); > >