[Intel-gfx] [PATCH] drm/i915: Tidy aliasing_gtt_bind_vma()
Daniel Vetter
daniel at ffwll.ch
Tue Nov 24 05:05:56 PST 2015
On Fri, Nov 20, 2015 at 10:27:18AM +0000, Chris Wilson wrote:
> In commit 0a878716265e9af9f697264dc2e858fcc060d833
> Author: Daniel Vetter <daniel.vetter at ffwll.ch>
> Date: Thu Oct 15 14:23:01 2015 +0200
>
> drm/i915: restore ggtt double-bind avoidance
>
> we wrote the ggtt_bind_vma() observing a number of cleanups we could do
> over the template of aliasing_gtt_bind_vma(). Now let's apply the
> cleanups we made there back to the original. The essence is to avoid
> redundant variables and assignements, and by doing so make the code
> easier to read.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
> drivers/gpu/drm/i915/i915_gem_gtt.c | 19 +++++++++----------
> 1 file changed, 9 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
> index 21667ad3c685..a09f8f0510d5 100644
> --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> @@ -2561,32 +2561,31 @@ static int aliasing_gtt_bind_vma(struct i915_vma *vma,
> enum i915_cache_level cache_level,
> u32 flags)
> {
> - struct drm_device *dev = vma->vm->dev;
> - struct drm_i915_private *dev_priv = dev->dev_private;
> - struct drm_i915_gem_object *obj = vma->obj;
> - struct sg_table *pages = obj->pages;
> - u32 pte_flags = 0;
> + u32 pte_flags;
> int ret;
>
> ret = i915_get_ggtt_vma_pages(vma);
> if (ret)
> return ret;
> - pages = vma->ggtt_view.pages;
>
> /* Currently applicable only to VLV */
> - if (obj->gt_ro)
> + pte_flags = 0;
> + if (vma->obj->gt_ro)
> pte_flags |= PTE_READ_ONLY;
>
>
> if (flags & GLOBAL_BIND) {
> - vma->vm->insert_entries(vma->vm, pages,
> + vma->vm->insert_entries(vma->vm,
> + vma->ggtt_view.pages,
> vma->node.start,
> cache_level, pte_flags);
> }
>
> if (flags & LOCAL_BIND) {
> - struct i915_hw_ppgtt *appgtt = dev_priv->mm.aliasing_ppgtt;
> - appgtt->base.insert_entries(&appgtt->base, pages,
> + struct i915_hw_ppgtt *appgtt =
> + to_i915(vma->vm->dev)->mm.aliasing_ppgtt;
> + appgtt->base.insert_entries(&appgtt->base,
> + vma->ggtt_view.pages,
> vma->node.start,
> cache_level, pte_flags);
> }
> --
> 2.6.2
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the Intel-gfx
mailing list