[PATCH v3 12/16] drm/i915/guc: Convert mapping table to iosys_map

Matthew Brost matthew.brost at intel.com
Fri Feb 18 20:45:32 UTC 2022


On Wed, Feb 16, 2022 at 09:41:43AM -0800, Lucas De Marchi wrote:
> Use iosys_map to write the fields system_info.mapping_table[][].
> Since we already have the info_map around where needed, just use it
> instead of going through guc->ads_map.
> 
> Cc: Matt Roper <matthew.d.roper at intel.com>
> Cc: Thomas Hellström <thomas.hellstrom at linux.intel.com>
> Cc: Daniel Vetter <daniel at ffwll.ch>
> Cc: John Harrison <John.C.Harrison at Intel.com>
> Cc: Matthew Brost <matthew.brost at intel.com>
> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>

Reviewed-by: Matthew Brost <matthew.brost at intel.com>

> ---
>  drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c
> index b739781bd133..c3c31b679e79 100644
> --- a/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c
> +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c
> @@ -204,7 +204,7 @@ int intel_guc_global_policies_update(struct intel_guc *guc)
>  }
>  
>  static void guc_mapping_table_init(struct intel_gt *gt,
> -				   struct guc_gt_system_info *system_info)
> +				   struct iosys_map *info_map)
>  {
>  	unsigned int i, j;
>  	struct intel_engine_cs *engine;
> @@ -213,14 +213,14 @@ static void guc_mapping_table_init(struct intel_gt *gt,
>  	/* Table must be set to invalid values for entries not used */
>  	for (i = 0; i < GUC_MAX_ENGINE_CLASSES; ++i)
>  		for (j = 0; j < GUC_MAX_INSTANCES_PER_CLASS; ++j)
> -			system_info->mapping_table[i][j] =
> -				GUC_MAX_INSTANCES_PER_CLASS;
> +			info_map_write(info_map, mapping_table[i][j],
> +				       GUC_MAX_INSTANCES_PER_CLASS);
>  
>  	for_each_engine(engine, gt, id) {
>  		u8 guc_class = engine_class_to_guc_class(engine->class);
>  
> -		system_info->mapping_table[guc_class][ilog2(engine->logical_mask)] =
> -			engine->instance;
> +		info_map_write(info_map, mapping_table[guc_class][ilog2(engine->logical_mask)],
> +			       engine->instance);
>  	}
>  }
>  
> @@ -631,7 +631,7 @@ static void __guc_ads_init(struct intel_guc *guc)
>  	/* Golden contexts for re-initialising after a watchdog reset */
>  	guc_prep_golden_context(guc);
>  
> -	guc_mapping_table_init(guc_to_gt(guc), &blob->system_info);
> +	guc_mapping_table_init(guc_to_gt(guc), &info_map);
>  
>  	base = intel_guc_ggtt_offset(guc, guc->ads_vma);
>  
> -- 
> 2.35.1
> 


More information about the dri-devel mailing list