Commit 321d178e authored by Chris Wilson's avatar Chris Wilson Committed by Daniel Vetter

drm/i915: Tidy aliasing_gtt_bind_vma()

In commit 0a878716
Author: Daniel Vetter <daniel.vetter@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: default avatarChris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1448015238-24639-1-git-send-email-chris@chris-wilson.co.uk
parent 70e8aa21
...@@ -2613,32 +2613,31 @@ static int aliasing_gtt_bind_vma(struct i915_vma *vma, ...@@ -2613,32 +2613,31 @@ static int aliasing_gtt_bind_vma(struct i915_vma *vma,
enum i915_cache_level cache_level, enum i915_cache_level cache_level,
u32 flags) u32 flags)
{ {
struct drm_device *dev = vma->vm->dev; u32 pte_flags;
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;
int ret; int ret;
ret = i915_get_ggtt_vma_pages(vma); ret = i915_get_ggtt_vma_pages(vma);
if (ret) if (ret)
return ret; return ret;
pages = vma->ggtt_view.pages;
/* Currently applicable only to VLV */ /* Currently applicable only to VLV */
if (obj->gt_ro) pte_flags = 0;
if (vma->obj->gt_ro)
pte_flags |= PTE_READ_ONLY; pte_flags |= PTE_READ_ONLY;
if (flags & GLOBAL_BIND) { if (flags & GLOBAL_BIND) {
vma->vm->insert_entries(vma->vm, pages, vma->vm->insert_entries(vma->vm,
vma->ggtt_view.pages,
vma->node.start, vma->node.start,
cache_level, pte_flags); cache_level, pte_flags);
} }
if (flags & LOCAL_BIND) { if (flags & LOCAL_BIND) {
struct i915_hw_ppgtt *appgtt = dev_priv->mm.aliasing_ppgtt; struct i915_hw_ppgtt *appgtt =
appgtt->base.insert_entries(&appgtt->base, pages, to_i915(vma->vm->dev)->mm.aliasing_ppgtt;
appgtt->base.insert_entries(&appgtt->base,
vma->ggtt_view.pages,
vma->node.start, vma->node.start,
cache_level, pte_flags); cache_level, pte_flags);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment