On Mon, Oct 31, 2022 at 07:51:17AM +0200, Alexander Usyskin wrote:
> From: José Roberto de Souza <jose.so...@intel.com>
> 
> For multi-tile setups the GSC operational only on the tile 0.
> Skip GSC auxiliary device creation for all other tiles.
> 
> Cc: Tomas Winkler <tomas.wink...@intel.com>
> Cc: Vitaly Lubart <vitaly.lub...@intel.com>
> Signed-off-by: José Roberto de Souza <jose.so...@intel.com>
> Signed-off-by: Alexander Usyskin <alexander.usys...@intel.com>
> ---
>  drivers/gpu/drm/i915/gt/intel_gt.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c 
> b/drivers/gpu/drm/i915/gt/intel_gt.c
> index 2e796ffad911..92ad8cd45ddb 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt.c
> +++ b/drivers/gpu/drm/i915/gt/intel_gt.c
> @@ -456,7 +456,10 @@ void intel_gt_chipset_flush(struct intel_gt *gt)
>  
>  void intel_gt_driver_register(struct intel_gt *gt)
>  {
> -     intel_gsc_init(&gt->gsc, gt->i915);
> +     if (gt->info.id == 0)
> +             intel_gsc_init(&gt->gsc, gt->i915);
> +     else
> +             drm_dbg(&gt->i915->drm, "Not initializing gsc for remote 
> tiles\n");

It looks to me that we need to move the gsc out of the intel_gt
instead of workaround the initialization.

>  
>       intel_rps_driver_register(&gt->rps);
>  
> @@ -787,7 +790,8 @@ void intel_gt_driver_unregister(struct intel_gt *gt)
>  
>       intel_gt_sysfs_unregister(gt);
>       intel_rps_driver_unregister(&gt->rps);
> -     intel_gsc_fini(&gt->gsc);
> +     if (gt->info.id == 0)
> +             intel_gsc_fini(&gt->gsc);
>  
>       intel_pxp_fini(&gt->pxp);
>  
> -- 
> 2.34.1
> 

Reply via email to