[Intel-gfx] [PATCH 04/12] drm/i915: Extract PDE writes
Jesse Barnes
jbarnes at virtuousgeek.org
Thu May 2 23:27:41 CEST 2013
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
More information about the Intel-gfx
mailing list