On Tue, 23 Apr 2013 23:15:32 -0700 Ben Widawsky <ben at bwidawsk.net> wrote: > It also makes some sense IMO to have these two functions separate > irrespective of the number of callers. > > Only the single caller for now, but that will change as we add more > PPGTTs. > > Signed-off-by: Ben Widawsky <ben at bwidawsk.net> > --- > drivers/gpu/drm/i915/i915_gem_gtt.c | 22 +++++++++++++++------- > 1 file changed, 15 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index 11a50cf..975adaa 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > @@ -76,18 +76,13 @@ static inline gen6_gtt_pte_t gen6_pte_encode(struct drm_device *dev, > return pte; > } > > -static int gen6_ppgtt_enable(struct drm_device *dev) > +static void gen6_write_pdes(struct i915_hw_ppgtt *ppgtt) > { > - drm_i915_private_t *dev_priv = dev->dev_private; > - uint32_t pd_offset; > - struct intel_ring_buffer *ring; > - struct i915_hw_ppgtt *ppgtt = dev_priv->mm.aliasing_ppgtt; > + struct drm_i915_private *dev_priv = ppgtt->dev->dev_private; > gen6_gtt_pte_t __iomem *pd_addr; > uint32_t pd_entry; > int i; > > - BUG_ON(ppgtt->pd_offset & 0x3f); > - > pd_addr = (gen6_gtt_pte_t __iomem*)dev_priv->gtt.gsm + > ppgtt->pd_offset / sizeof(gen6_gtt_pte_t); > for (i = 0; i < ppgtt->num_pd_entries; i++) { > @@ -100,6 +95,19 @@ static int gen6_ppgtt_enable(struct drm_device *dev) > writel(pd_entry, pd_addr + i); > } > readl(pd_addr); > +} > + > +static int gen6_ppgtt_enable(struct drm_device *dev) > +{ > + drm_i915_private_t *dev_priv = dev->dev_private; > + uint32_t pd_offset; > + struct intel_ring_buffer *ring; > + struct i915_hw_ppgtt *ppgtt = dev_priv->mm.aliasing_ppgtt; > + int i; > + > + BUG_ON(ppgtt->pd_offset & 0x3f); > + > + gen6_write_pdes(ppgtt); > > pd_offset = ppgtt->pd_offset; > pd_offset /= 64; /* in cachelines, */ Yep, looks nicer this way. Reviewed-by: Jesse Barnes <jbarnes at virtuousgeek.org> -- Jesse Barnes, Intel Open Source Technology Center