On ma, 2016-04-18 at 12:14 +0100, Chris Wilson wrote: > In a couple of places, we have an i915_address_space that we know is > really an i915_ggtt that we want to use. Create an inline helper to > convert from the i915_address_space subclass into its container. > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Comment below. Reviewed-by: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> > Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_gem_gtt.c | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index 9f165feb54ae..b3af2e808b49 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > @@ -93,6 +93,13 @@ > * > */ > > +static inline struct i915_ggtt * > +i915_vm_to_ggtt(struct i915_address_space *vm) > +{ > + GEM_BUG_ON(!i915_is_ggtt(vm)); > + return container_of(vm, struct i915_ggtt, base); > +} > + > static int > i915_get_ggtt_vma_pages(struct i915_vma *vma); > > @@ -2359,7 +2366,7 @@ static void gen8_ggtt_insert_entries(struct i915_address_space *vm, > enum i915_cache_level level, u32 unused) > { > struct drm_i915_private *dev_priv = to_i915(vm->dev); > - struct i915_ggtt *ggtt = &dev_priv->ggtt; > + struct i915_ggtt *ggtt = i915_vm_to_ggtt(vm); I do not see this as a very necessary change, because we are going to have only one Global XYZ per device by definiton of "global". Especially after the rename it's going to be; struct i915_ggtt *ggtt = &i915->ggtt; But regardless my R-b. Regards, Joonas > unsigned first_entry = start >> PAGE_SHIFT; > gen8_pte_t __iomem *gtt_entries = > (gen8_pte_t __iomem *)ggtt->gsm + first_entry; > @@ -2437,7 +2444,7 @@ static void gen6_ggtt_insert_entries(struct i915_address_space *vm, > enum i915_cache_level level, u32 flags) > { > struct drm_i915_private *dev_priv = to_i915(vm->dev); > - struct i915_ggtt *ggtt = &dev_priv->ggtt; > + struct i915_ggtt *ggtt = i915_vm_to_ggtt(vm); > unsigned first_entry = start >> PAGE_SHIFT; > gen6_pte_t __iomem *gtt_entries = > (gen6_pte_t __iomem *)ggtt->gsm + first_entry; > @@ -2481,7 +2488,7 @@ static void gen8_ggtt_clear_range(struct i915_address_space *vm, > bool use_scratch) > { > struct drm_i915_private *dev_priv = to_i915(vm->dev); > - struct i915_ggtt *ggtt = &dev_priv->ggtt; > + struct i915_ggtt *ggtt = i915_vm_to_ggtt(vm); > unsigned first_entry = start >> PAGE_SHIFT; > unsigned num_entries = length >> PAGE_SHIFT; > gen8_pte_t scratch_pte, __iomem *gtt_base = > @@ -2513,7 +2520,7 @@ static void gen6_ggtt_clear_range(struct i915_address_space *vm, > bool use_scratch) > { > struct drm_i915_private *dev_priv = to_i915(vm->dev); > - struct i915_ggtt *ggtt = &dev_priv->ggtt; > + struct i915_ggtt *ggtt = i915_vm_to_ggtt(vm); > unsigned first_entry = start >> PAGE_SHIFT; > unsigned num_entries = length >> PAGE_SHIFT; > gen6_pte_t scratch_pte, __iomem *gtt_base = -- Joonas Lahtinen Open Source Technology Center Intel Corporation _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx