On 2019.06.21 20:13:13 +0100, Chris Wilson wrote: > Preempt-to-busy uses a GPU semaphore to enforce an idle-barrier across > preemption, but mediated gvt does not fully support semaphores. > Current looks semaphore is still used from emit_fini_breadcrumb which caused gvt error, gvt may support memory based semaphore but not for reg based. > Signed-off-by: Chris Wilson > --- > drivers/gpu/drm/i915/gt/intel_lrc.c | 13 ++++++++++--- > 1 file changed, 10 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c > index c8a0c9b32764..d8649e759ce8 100644 > --- a/drivers/gpu/drm/i915/gt/intel_lrc.c > +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c > @@ -294,6 +294,9 @@ static inline bool need_preempt(const struct intel_engine_cs *engine, > { > int last_prio; > > + if (!intel_engine_has_preemption(engine)) > + return false; > + > /* > * Check if the current priority hint merits a preemption attempt. > * > @@ -890,6 +893,9 @@ need_timeslice(struct intel_engine_cs *engine, const struct i915_request *rq) > { > int hint; > > + if (!intel_engine_has_preemption(engine)) > + return false; > + > if (list_is_last(&rq->sched.link, &engine->active.requests)) > return false; > > @@ -2672,10 +2678,11 @@ void intel_execlists_set_default_submission(struct intel_engine_cs *engine) > engine->unpark = NULL; > > engine->flags |= I915_ENGINE_SUPPORTS_STATS; > - if (!intel_vgpu_active(engine->i915)) > + if (!intel_vgpu_active(engine->i915)) { > engine->flags |= I915_ENGINE_HAS_SEMAPHORES; > - if (HAS_LOGICAL_RING_PREEMPTION(engine->i915)) > - engine->flags |= I915_ENGINE_HAS_PREEMPTION; > + if (HAS_LOGICAL_RING_PREEMPTION(engine->i915)) > + engine->flags |= I915_ENGINE_HAS_PREEMPTION; > + } > } > > static void execlists_destroy(struct intel_engine_cs *engine) > -- > 2.20.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Open Source Technology Center, Intel ltd. $gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827