[Intel-gfx] [PATCH] drm/i915/gt: use get_reset_domain() helper

Rodrigo Vivi rodrigo.vivi at intel.com
Fri Feb 18 20:27:59 UTC 2022


On Thu, Feb 17, 2022 at 06:02:23PM +0530, Tejas Upadhyay wrote:
> We dont need to implement reset_domain in intel_engine
> _setup(), but can be done as a helper. Implemented as
> engine->reset_domain = get_reset_domain().
> 
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Signed-off-by: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay at intel.com>

it is a good non-functional clean-up in the engine setup function and we
will need this soon to be called from more other places, so:

Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>

> ---
>  drivers/gpu/drm/i915/gt/intel_engine_cs.c | 74 +++++++++++++----------
>  1 file changed, 42 insertions(+), 32 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> index e53008b4dd05..e855c801ba28 100644
> --- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> +++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c
> @@ -293,6 +293,46 @@ static void nop_irq_handler(struct intel_engine_cs *engine, u16 iir)
>  	GEM_DEBUG_WARN_ON(iir);
>  }
>  
> +static u32 get_reset_domain(u8 ver, enum intel_engine_id id)
> +{
> +	u32 reset_domain;
> +
> +	if (ver >= 11) {
> +		static const u32 engine_reset_domains[] = {
> +			[RCS0]  = GEN11_GRDOM_RENDER,
> +			[BCS0]  = GEN11_GRDOM_BLT,
> +			[VCS0]  = GEN11_GRDOM_MEDIA,
> +			[VCS1]  = GEN11_GRDOM_MEDIA2,
> +			[VCS2]  = GEN11_GRDOM_MEDIA3,
> +			[VCS3]  = GEN11_GRDOM_MEDIA4,
> +			[VCS4]  = GEN11_GRDOM_MEDIA5,
> +			[VCS5]  = GEN11_GRDOM_MEDIA6,
> +			[VCS6]  = GEN11_GRDOM_MEDIA7,
> +			[VCS7]  = GEN11_GRDOM_MEDIA8,
> +			[VECS0] = GEN11_GRDOM_VECS,
> +			[VECS1] = GEN11_GRDOM_VECS2,
> +			[VECS2] = GEN11_GRDOM_VECS3,
> +			[VECS3] = GEN11_GRDOM_VECS4,
> +		};
> +		GEM_BUG_ON(id >= ARRAY_SIZE(engine_reset_domains) ||
> +			   !engine_reset_domains[id]);
> +		reset_domain = engine_reset_domains[id];
> +	} else {
> +		static const u32 engine_reset_domains[] = {
> +			[RCS0]  = GEN6_GRDOM_RENDER,
> +			[BCS0]  = GEN6_GRDOM_BLT,
> +			[VCS0]  = GEN6_GRDOM_MEDIA,
> +			[VCS1]  = GEN8_GRDOM_MEDIA2,
> +			[VECS0] = GEN6_GRDOM_VECS,
> +		};
> +		GEM_BUG_ON(id >= ARRAY_SIZE(engine_reset_domains) ||
> +			   !engine_reset_domains[id]);
> +		reset_domain = engine_reset_domains[id];
> +	}
> +
> +	return reset_domain;
> +}
> +
>  static int intel_engine_setup(struct intel_gt *gt, enum intel_engine_id id,
>  			      u8 logical_instance)
>  {
> @@ -328,38 +368,8 @@ static int intel_engine_setup(struct intel_gt *gt, enum intel_engine_id id,
>  	engine->id = id;
>  	engine->legacy_idx = INVALID_ENGINE;
>  	engine->mask = BIT(id);
> -	if (GRAPHICS_VER(gt->i915) >= 11) {
> -		static const u32 engine_reset_domains[] = {
> -			[RCS0]  = GEN11_GRDOM_RENDER,
> -			[BCS0]  = GEN11_GRDOM_BLT,
> -			[VCS0]  = GEN11_GRDOM_MEDIA,
> -			[VCS1]  = GEN11_GRDOM_MEDIA2,
> -			[VCS2]  = GEN11_GRDOM_MEDIA3,
> -			[VCS3]  = GEN11_GRDOM_MEDIA4,
> -			[VCS4]  = GEN11_GRDOM_MEDIA5,
> -			[VCS5]  = GEN11_GRDOM_MEDIA6,
> -			[VCS6]  = GEN11_GRDOM_MEDIA7,
> -			[VCS7]  = GEN11_GRDOM_MEDIA8,
> -			[VECS0] = GEN11_GRDOM_VECS,
> -			[VECS1] = GEN11_GRDOM_VECS2,
> -			[VECS2] = GEN11_GRDOM_VECS3,
> -			[VECS3] = GEN11_GRDOM_VECS4,
> -		};
> -		GEM_BUG_ON(id >= ARRAY_SIZE(engine_reset_domains) ||
> -			   !engine_reset_domains[id]);
> -		engine->reset_domain = engine_reset_domains[id];
> -	} else {
> -		static const u32 engine_reset_domains[] = {
> -			[RCS0]  = GEN6_GRDOM_RENDER,
> -			[BCS0]  = GEN6_GRDOM_BLT,
> -			[VCS0]  = GEN6_GRDOM_MEDIA,
> -			[VCS1]  = GEN8_GRDOM_MEDIA2,
> -			[VECS0] = GEN6_GRDOM_VECS,
> -		};
> -		GEM_BUG_ON(id >= ARRAY_SIZE(engine_reset_domains) ||
> -			   !engine_reset_domains[id]);
> -		engine->reset_domain = engine_reset_domains[id];
> -	}
> +	engine->reset_domain = get_reset_domain(GRAPHICS_VER(gt->i915),
> +						id);
>  	engine->i915 = i915;
>  	engine->gt = gt;
>  	engine->uncore = gt->uncore;
> -- 
> 2.34.1
> 


More information about the Intel-gfx mailing list