Message ID | 20190614151731.17608-20-tvrtko.ursulin@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Implicit dev_priv removal and GT compartmentalization | expand |
On Fri, Jun 14, 2019 at 04:17:19PM +0100, Tvrtko Ursulin wrote: > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > > This will come useful in the following patch. > > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> an individual commit message would be better, but let's focus on the content: Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> > --- > drivers/gpu/drm/i915/i915_gem_gtt.c | 16 ++++++++++------ > drivers/gpu/drm/i915/i915_gem_gtt.h | 1 + > 2 files changed, 11 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index 95af45156cc2..0bc75c963955 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > @@ -1587,9 +1587,11 @@ static int gen8_preallocate_top_level_pdp(struct i915_ppgtt *ppgtt) > return -ENOMEM; > } > > -static void ppgtt_init(struct drm_i915_private *i915, > - struct i915_ppgtt *ppgtt) > +static void ppgtt_init(struct i915_ppgtt *ppgtt, struct intel_gt *gt) > { > + struct drm_i915_private *i915 = gt->i915; > + > + ppgtt->vm.gt = gt; > ppgtt->vm.i915 = i915; > ppgtt->vm.dma = &i915->drm.pdev->dev; > ppgtt->vm.total = BIT_ULL(INTEL_INFO(i915)->ppgtt_size); > @@ -1618,7 +1620,7 @@ static struct i915_ppgtt *gen8_ppgtt_create(struct drm_i915_private *i915) > if (!ppgtt) > return ERR_PTR(-ENOMEM); > > - ppgtt_init(i915, ppgtt); > + ppgtt_init(ppgtt, &i915->gt); > > /* > * From bdw, there is hw support for read-only pages in the PPGTT. > @@ -2155,7 +2157,7 @@ static struct i915_ppgtt *gen6_ppgtt_create(struct drm_i915_private *i915) > if (!ppgtt) > return ERR_PTR(-ENOMEM); > > - ppgtt_init(i915, &ppgtt->base); > + ppgtt_init(&ppgtt->base, &i915->gt); > > ppgtt->base.vm.allocate_va_range = gen6_alloc_va_range; > ppgtt->base.vm.clear_range = gen6_ppgtt_clear_range; > @@ -3502,10 +3504,12 @@ static int i915_gmch_probe(struct i915_ggtt *ggtt) > return 0; > } > > -static int ggtt_probe_hw(struct i915_ggtt *ggtt, struct drm_i915_private *i915) > +static int ggtt_probe_hw(struct i915_ggtt *ggtt, struct intel_gt *gt) > { > + struct drm_i915_private *i915 = gt->i915; > int ret; > > + ggtt->vm.gt = gt; > ggtt->vm.i915 = i915; > ggtt->vm.dma = &i915->drm.pdev->dev; > > @@ -3551,7 +3555,7 @@ int i915_ggtt_probe_hw(struct drm_i915_private *i915) > { > int ret; > > - ret = ggtt_probe_hw(&i915->ggtt, i915); > + ret = ggtt_probe_hw(&i915->ggtt, &i915->gt); > if (ret) > return ret; > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.h b/drivers/gpu/drm/i915/i915_gem_gtt.h > index b541190db6e8..9a3d96370f07 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.h > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.h > @@ -297,6 +297,7 @@ struct i915_address_space { > struct kref ref; > > struct drm_mm mm; > + struct intel_gt *gt; > struct drm_i915_private *i915; > struct device *dma; > /* Every address space belongs to a struct file - except for the global > -- > 2.20.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index 95af45156cc2..0bc75c963955 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -1587,9 +1587,11 @@ static int gen8_preallocate_top_level_pdp(struct i915_ppgtt *ppgtt) return -ENOMEM; } -static void ppgtt_init(struct drm_i915_private *i915, - struct i915_ppgtt *ppgtt) +static void ppgtt_init(struct i915_ppgtt *ppgtt, struct intel_gt *gt) { + struct drm_i915_private *i915 = gt->i915; + + ppgtt->vm.gt = gt; ppgtt->vm.i915 = i915; ppgtt->vm.dma = &i915->drm.pdev->dev; ppgtt->vm.total = BIT_ULL(INTEL_INFO(i915)->ppgtt_size); @@ -1618,7 +1620,7 @@ static struct i915_ppgtt *gen8_ppgtt_create(struct drm_i915_private *i915) if (!ppgtt) return ERR_PTR(-ENOMEM); - ppgtt_init(i915, ppgtt); + ppgtt_init(ppgtt, &i915->gt); /* * From bdw, there is hw support for read-only pages in the PPGTT. @@ -2155,7 +2157,7 @@ static struct i915_ppgtt *gen6_ppgtt_create(struct drm_i915_private *i915) if (!ppgtt) return ERR_PTR(-ENOMEM); - ppgtt_init(i915, &ppgtt->base); + ppgtt_init(&ppgtt->base, &i915->gt); ppgtt->base.vm.allocate_va_range = gen6_alloc_va_range; ppgtt->base.vm.clear_range = gen6_ppgtt_clear_range; @@ -3502,10 +3504,12 @@ static int i915_gmch_probe(struct i915_ggtt *ggtt) return 0; } -static int ggtt_probe_hw(struct i915_ggtt *ggtt, struct drm_i915_private *i915) +static int ggtt_probe_hw(struct i915_ggtt *ggtt, struct intel_gt *gt) { + struct drm_i915_private *i915 = gt->i915; int ret; + ggtt->vm.gt = gt; ggtt->vm.i915 = i915; ggtt->vm.dma = &i915->drm.pdev->dev; @@ -3551,7 +3555,7 @@ int i915_ggtt_probe_hw(struct drm_i915_private *i915) { int ret; - ret = ggtt_probe_hw(&i915->ggtt, i915); + ret = ggtt_probe_hw(&i915->ggtt, &i915->gt); if (ret) return ret; diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.h b/drivers/gpu/drm/i915/i915_gem_gtt.h index b541190db6e8..9a3d96370f07 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.h +++ b/drivers/gpu/drm/i915/i915_gem_gtt.h @@ -297,6 +297,7 @@ struct i915_address_space { struct kref ref; struct drm_mm mm; + struct intel_gt *gt; struct drm_i915_private *i915; struct device *dma; /* Every address space belongs to a struct file - except for the global