Quoting Tvrtko Ursulin (2020-05-27 09:53:22) > +static void > +mark_bonded_pair(struct i915_request *rq, struct i915_request *signal) > +{ > + /* > + * Give (temporary) special meaning to a pair requests with requested > + * aligned start along the video engines. > + * > + * They should be non-preemptable and have all ELSP ports to themselves > + * to avoid any deadlocks caused by inversions. > + * > + * Gen11+ > + */ > + if (INTEL_GEN(rq->i915) < 11 || > + rq->engine->class != VIDEO_DECODE_CLASS || > + rq->engine->class != signal->engine->class) > + return; > + > + set_bit(I915_FENCE_FLAG_NOPREEMPT, &rq->fence.flags); > + set_bit(I915_FENCE_FLAG_NOPREEMPT, &signal->fence.flags); > + > + intel_context_set_single_submission(rq->context); > + intel_context_set_single_submission(signal->context); The thought that just popped into my head: This can be after signal is already submitted into ELSP[1]. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx