On Mon, Oct 31, 2022 at 07:51:17AM +0200, Alexander Usyskin wrote: > From: José Roberto de Souza <jose.souza@xxxxxxxxx> > > 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.winkler@xxxxxxxxx> > Cc: Vitaly Lubart <vitaly.lubart@xxxxxxxxx> > Signed-off-by: José Roberto de Souza <jose.souza@xxxxxxxxx> > Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> > --- > 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(>->gsc, gt->i915); > + if (gt->info.id == 0) > + intel_gsc_init(>->gsc, gt->i915); > + else > + drm_dbg(>->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(>->rps); > > @@ -787,7 +790,8 @@ void intel_gt_driver_unregister(struct intel_gt *gt) > > intel_gt_sysfs_unregister(gt); > intel_rps_driver_unregister(>->rps); > - intel_gsc_fini(>->gsc); > + if (gt->info.id == 0) > + intel_gsc_fini(>->gsc); > > intel_pxp_fini(>->pxp); > > -- > 2.34.1 >