drm/i915: Move PTE_READ_ONLY to ->pte_encode vfunc
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 14 Apr 2015 15:35:15 +0000 (17:35 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 20 Apr 2015 15:59:14 +0000 (08:59 -0700)
It's only used as a flag there, so unconfuse things a bit.
Also separate the bind_vma flag space from the pte_encode flag
space in the code.

Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem_gtt.c
drivers/gpu/drm/i915/i915_gem_gtt.h

index 75787f1d27516294ba97ed681c56dd8cc6aa25cf..4e2caef837725080f678fbcaf79efce215cfc9fd 100644 (file)
@@ -1610,14 +1610,16 @@ void  i915_ppgtt_release(struct kref *kref)
 static void
 ppgtt_bind_vma(struct i915_vma *vma,
               enum i915_cache_level cache_level,
-              u32 flags)
+              u32 unused)
 {
+       u32 pte_flags = 0;
+
        /* Currently applicable only to VLV */
        if (vma->obj->gt_ro)
-               flags |= PTE_READ_ONLY;
+               pte_flags |= PTE_READ_ONLY;
 
        vma->vm->insert_entries(vma->vm, vma->obj->pages, vma->node.start,
-                               cache_level, flags);
+                               cache_level, pte_flags);
 }
 
 static void ppgtt_unbind_vma(struct i915_vma *vma)
@@ -1986,10 +1988,11 @@ static void ggtt_bind_vma(struct i915_vma *vma,
        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;
 
        /* Currently applicable only to VLV */
        if (obj->gt_ro)
-               flags |= PTE_READ_ONLY;
+               pte_flags |= PTE_READ_ONLY;
 
        if (i915_is_ggtt(vma->vm))
                pages = vma->ggtt_view.pages;
@@ -2010,7 +2013,7 @@ static void ggtt_bind_vma(struct i915_vma *vma,
                    (cache_level != obj->cache_level)) {
                        vma->vm->insert_entries(vma->vm, pages,
                                                vma->node.start,
-                                               cache_level, flags);
+                                               cache_level, pte_flags);
                        vma->bound |= GLOBAL_BIND;
                }
        }
@@ -2021,7 +2024,7 @@ static void ggtt_bind_vma(struct i915_vma *vma,
                struct i915_hw_ppgtt *appgtt = dev_priv->mm.aliasing_ppgtt;
                appgtt->base.insert_entries(&appgtt->base, pages,
                                            vma->node.start,
-                                           cache_level, flags);
+                                           cache_level, pte_flags);
                vma->bound |= LOCAL_BIND;
        }
 }
index 12d0ded0d8236c161b5700228fb35b8fc2e4dad6..fb0a04aa5363b5ecb080262800764ff6374d005e 100644 (file)
@@ -158,7 +158,6 @@ struct i915_vma {
        /** Flags and address space this VMA is bound to */
 #define GLOBAL_BIND    (1<<0)
 #define LOCAL_BIND     (1<<1)
-#define PTE_READ_ONLY  (1<<2)
        unsigned int bound : 4;
 
        /**
@@ -261,6 +260,8 @@ struct i915_address_space {
        gen6_pte_t (*pte_encode)(dma_addr_t addr,
                                 enum i915_cache_level level,
                                 bool valid, u32 flags); /* Create a valid PTE */
+       /* flags for pte_encode */
+#define PTE_READ_ONLY  (1<<0)
        int (*allocate_va_range)(struct i915_address_space *vm,
                                 uint64_t start,
                                 uint64_t length);