[PATCH] drm/i915: Simplify vcs/bsc engine selection
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Fri Mar 17 08:59:30 UTC 2023
On 16/03/2023 15:48, Das, Nirmoy wrote:
>
> On 3/16/2023 3:27 PM, Tvrtko Ursulin wrote:
>> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>>
>> No need to look at the mask of present engines when we already have a
>> count stored ever since e2d0ff3525b9 ("drm/i915: Count engine instances
>> per uabi class").
>>
>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>> Cc: Jonathan Cavitt <jonathan.cavitt at intel.com>
>
>
> Reviewed-by: Nirmoy Das <nirmoy.das at intel.com>
Pushed, thanks for the review!
Regards,
Tvrtko
>> ---
>> drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 10 +++-------
>> 1 file changed, 3 insertions(+), 7 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
>> b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
>> index 9dce2957b4e5..3aeede6aee4d 100644
>> --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
>> +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
>> @@ -2449,11 +2449,6 @@ static int eb_submit(struct i915_execbuffer *eb)
>> return err;
>> }
>> -static int num_vcs_engines(struct drm_i915_private *i915)
>> -{
>> - return hweight_long(VDBOX_MASK(to_gt(i915)));
>> -}
>> -
>> /*
>> * Find one BSD ring to dispatch the corresponding BSD command.
>> * The engine index is returned.
>> @@ -2467,7 +2462,7 @@ gen8_dispatch_bsd_engine(struct drm_i915_private
>> *dev_priv,
>> /* Check whether the file_priv has already selected one ring. */
>> if ((int)file_priv->bsd_engine < 0)
>> file_priv->bsd_engine =
>> - get_random_u32_below(num_vcs_engines(dev_priv));
>> +
>> get_random_u32_below(dev_priv->engine_uabi_class_count[I915_ENGINE_CLASS_VIDEO]);
>> return file_priv->bsd_engine;
>> }
>> @@ -2655,7 +2650,8 @@ eb_select_legacy_ring(struct i915_execbuffer *eb)
>> return -1;
>> }
>> - if (user_ring_id == I915_EXEC_BSD && num_vcs_engines(i915) > 1) {
>> + if (user_ring_id == I915_EXEC_BSD &&
>> + i915->engine_uabi_class_count[I915_ENGINE_CLASS_VIDEO] > 1) {
>> unsigned int bsd_idx = args->flags & I915_EXEC_BSD_MASK;
>> if (bsd_idx == I915_EXEC_BSD_DEFAULT) {
More information about the dri-devel
mailing list