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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to