[igt-dev] [Intel-gfx] [PATCH i-g-t] i915: Improve static engine map for legacy

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Thu May 23 09:27:49 UTC 2019


On 23/05/2019 10:09, Chris Wilson wrote:
> Quoting Tvrtko Ursulin (2019-05-23 09:46:08)
>>
>> On 23/05/2019 09:06, Chris Wilson wrote:
>>>    const struct intel_execution_engine2 intel_execution_engines2[] = {
>>> -     { "rcs0", I915_ENGINE_CLASS_RENDER, 0 },
>>> -     { "bcs0", I915_ENGINE_CLASS_COPY, 0 },
>>> -     { "vcs0", I915_ENGINE_CLASS_VIDEO, 0 },
>>> -     { "vcs1", I915_ENGINE_CLASS_VIDEO, 1 },
>>> -     { "vcs2", I915_ENGINE_CLASS_VIDEO, 2 },
>>> -     { "vecs0", I915_ENGINE_CLASS_VIDEO_ENHANCE, 0 },
>>> +     { "rcs0", I915_ENGINE_CLASS_RENDER, 0, I915_EXEC_RENDER },
>>> +     { "bcs0", I915_ENGINE_CLASS_COPY, 0, I915_EXEC_BLT },
>>> +     { "vcs0", I915_ENGINE_CLASS_VIDEO, 0, I915_EXEC_BSD | I915_EXEC_BSD_RING1 },
>>
>> execbuf will reject this on single vcs parts. :( Am I not seeing some
>> place where you fudge it into compliance?
> 
> 
>          if (user_ring_id == I915_EXEC_BSD && HAS_ENGINE(dev_priv, VCS1)) {
>                  unsigned int bsd_idx = args->flags & I915_EXEC_BSD_MASK;
> 
>                  if (bsd_idx == I915_EXEC_BSD_DEFAULT) {
>                          bsd_idx = gen8_dispatch_bsd_engine(dev_priv, file);
>                  } else if (bsd_idx >= I915_EXEC_BSD_RING1 &&
>                             bsd_idx <= I915_EXEC_BSD_RING2) {
>                          bsd_idx >>= I915_EXEC_BSD_SHIFT;
>                          bsd_idx--;
>                  } else {
>                          DRM_DEBUG("execbuf with unknown bsd ring: %u\n",
>                                    bsd_idx);
>                          return NULL;
>                  }
> 
>                  engine = dev_priv->engine[_VCS(bsd_idx)];
>          } else {
>                  engine = dev_priv->engine[user_ring_map[user_ring_id]];
>          }
> 
> Looks ok to me... I was trying to double check but dif didn't boot on
> bsw. Sigh.

Hmm I would have sworn we used to do that.. strange. Okay, I'll re-read 
your patch. Notice that I did not know you are working on it so have 
sent my own fix at similar time.

Regards,

Tvrtko


More information about the igt-dev mailing list