On Tue, 25 Jul 2023, Andi Shyti <andi.shyti@xxxxxxxxxxxxxxx> wrote: > Quite surprised to see that around i915 there are still i915->gt0 > references. Replace them with the to_gt() helper. Please remind me why we still have i915->gt0 at all. Why aren't we just using i915->gt[0] instead? BR, Jani. > > Signed-off-by: Andi Shyti <andi.shyti@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 2 +- > drivers/gpu/drm/i915/gt/intel_gt.c | 2 +- > drivers/gpu/drm/i915/gt/intel_region_lmem.c | 2 +- > drivers/gpu/drm/i915/pxp/intel_pxp.c | 8 ++++---- > drivers/gpu/drm/i915/selftests/mock_gem_device.c | 2 +- > 5 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c > index 3b094d36a0b04..5b0a5cf9a98a8 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_stolen.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_stolen.c > @@ -892,7 +892,7 @@ i915_gem_stolen_lmem_setup(struct drm_i915_private *i915, u16 type, > } else { > resource_size_t lmem_range; > > - lmem_range = intel_gt_mcr_read_any(&i915->gt0, XEHP_TILE0_ADDR_RANGE) & 0xFFFF; > + lmem_range = intel_gt_mcr_read_any(to_gt(i915), XEHP_TILE0_ADDR_RANGE) & 0xFFFF; > lmem_size = lmem_range >> XEHP_TILE_LMEM_RANGE_SHIFT; > lmem_size *= SZ_1G; > } > diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c b/drivers/gpu/drm/i915/gt/intel_gt.c > index 9f64d61dd5fcd..02886c1eb0f17 100644 > --- a/drivers/gpu/drm/i915/gt/intel_gt.c > +++ b/drivers/gpu/drm/i915/gt/intel_gt.c > @@ -887,7 +887,7 @@ static int intel_gt_tile_setup(struct intel_gt *gt, phys_addr_t phys_addr) > int intel_gt_probe_all(struct drm_i915_private *i915) > { > struct pci_dev *pdev = to_pci_dev(i915->drm.dev); > - struct intel_gt *gt = &i915->gt0; > + struct intel_gt *gt = to_gt(i915); > const struct intel_gt_definition *gtdef; > phys_addr_t phys_addr; > unsigned int mmio_bar; > diff --git a/drivers/gpu/drm/i915/gt/intel_region_lmem.c b/drivers/gpu/drm/i915/gt/intel_region_lmem.c > index 2a3217e2890fc..f8512aee58a83 100644 > --- a/drivers/gpu/drm/i915/gt/intel_region_lmem.c > +++ b/drivers/gpu/drm/i915/gt/intel_region_lmem.c > @@ -220,7 +220,7 @@ static struct intel_memory_region *setup_lmem(struct intel_gt *gt) > resource_size_t lmem_range; > u64 tile_stolen, flat_ccs_base; > > - lmem_range = intel_gt_mcr_read_any(&i915->gt0, XEHP_TILE0_ADDR_RANGE) & 0xFFFF; > + lmem_range = intel_gt_mcr_read_any(to_gt(i915), XEHP_TILE0_ADDR_RANGE) & 0xFFFF; > lmem_size = lmem_range >> XEHP_TILE_LMEM_RANGE_SHIFT; > lmem_size *= SZ_1G; > > diff --git a/drivers/gpu/drm/i915/pxp/intel_pxp.c b/drivers/gpu/drm/i915/pxp/intel_pxp.c > index bb2e15329f346..38ec754d0ec8e 100644 > --- a/drivers/gpu/drm/i915/pxp/intel_pxp.c > +++ b/drivers/gpu/drm/i915/pxp/intel_pxp.c > @@ -162,8 +162,8 @@ static struct intel_gt *find_gt_for_required_teelink(struct drm_i915_private *i9 > * for HuC authentication. For now, its limited to DG2. > */ > if (IS_ENABLED(CONFIG_INTEL_MEI_PXP) && IS_ENABLED(CONFIG_INTEL_MEI_GSC) && > - intel_huc_is_loaded_by_gsc(&i915->gt0.uc.huc) && intel_uc_uses_huc(&i915->gt0.uc)) > - return &i915->gt0; > + intel_huc_is_loaded_by_gsc(&to_gt(i915)->uc.huc) && intel_uc_uses_huc(&to_gt(i915)->uc)) > + return to_gt(i915); > > return NULL; > } > @@ -188,8 +188,8 @@ static struct intel_gt *find_gt_for_required_protected_content(struct drm_i915_p > * Else we rely on mei-pxp module but only on legacy platforms > * prior to having separate media GTs and has a valid VDBOX. > */ > - if (IS_ENABLED(CONFIG_INTEL_MEI_PXP) && !i915->media_gt && VDBOX_MASK(&i915->gt0)) > - return &i915->gt0; > + if (IS_ENABLED(CONFIG_INTEL_MEI_PXP) && !i915->media_gt && VDBOX_MASK(to_gt(i915))) > + return to_gt(i915); > > return NULL; > } > diff --git a/drivers/gpu/drm/i915/selftests/mock_gem_device.c b/drivers/gpu/drm/i915/selftests/mock_gem_device.c > index 12aa7fbb07481..da0b269606c51 100644 > --- a/drivers/gpu/drm/i915/selftests/mock_gem_device.c > +++ b/drivers/gpu/drm/i915/selftests/mock_gem_device.c > @@ -114,7 +114,7 @@ static struct dev_pm_domain pm_domain = { > > static void mock_gt_probe(struct drm_i915_private *i915) > { > - i915->gt[0] = &i915->gt0; > + i915->gt[0] = to_gt(i915); > i915->gt[0]->name = "Mock GT"; > } -- Jani Nikula, Intel Open Source Graphics Center