In the future, we need to call allocate_va_range on the aliasing-ppgtt
which means moving the call down from the vma into the vm (which is
more appropriate for calling the vm function).

Signed-off-by: Chris Wilson <[email protected]>
---
 drivers/gpu/drm/i915/i915_gem_gtt.c | 10 +++++++++-
 drivers/gpu/drm/i915/i915_vma.c     |  9 ---------
 2 files 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 9eaa396b7402..e777ef19893e 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -187,11 +187,19 @@ static int ppgtt_bind_vma(struct i915_vma *vma,
                          enum i915_cache_level cache_level,
                          u32 unused)
 {
-       u32 pte_flags = 0;
+       u32 pte_flags;
+       int ret;
+
+       trace_i915_va_alloc(vma);
+       ret = vma->vm->allocate_va_range(vma->vm,
+                                        vma->node.start, vma->size);
+       if (ret)
+               return ret;
 
        vma->pages = vma->obj->mm.pages;
 
        /* Currently applicable only to VLV */
+       pte_flags = 0;
        if (vma->obj->gt_ro)
                pte_flags |= PTE_READ_ONLY;
 
diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c
index 341c3f82ec1f..623e85d97db2 100644
--- a/drivers/gpu/drm/i915/i915_vma.c
+++ b/drivers/gpu/drm/i915/i915_vma.c
@@ -260,15 +260,6 @@ int i915_vma_bind(struct i915_vma *vma, enum 
i915_cache_level cache_level,
                                        vma->vm->total)))
                return -ENODEV;
 
-       if (vma_flags == 0 && vma->vm->allocate_va_range) {
-               trace_i915_va_alloc(vma);
-               ret = vma->vm->allocate_va_range(vma->vm,
-                                                vma->node.start,
-                                                vma->node.size);
-               if (ret)
-                       return ret;
-       }
-
        trace_i915_vma_bind(vma, bind_flags);
        ret = vma->vm->bind_vma(vma, cache_level, bind_flags);
        if (ret)
-- 
2.11.0

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to