12:58 < jlahtine> there're actually equally many i915_is_ggtt(vma->vm)
calls
12:58 < jlahtine> (one less)
12:59 < jlahtine> so while at it I'd make it vm->is_ggtt and
vma->is_ggtt
12:59 < jlahtine> then get rid of the whole helper, maybe
13:00 < ickle> you preempted my beautiful macro
13:03 < ickle> just don't complain about the increased churn

* to be squashed into the previous patch if desired
---
 drivers/gpu/drm/i915/i915_debugfs.c        |  4 ++--
 drivers/gpu/drm/i915/i915_drv.h            |  7 +------
 drivers/gpu/drm/i915/i915_gem.c            | 32 ++++++++++++++----------------
 drivers/gpu/drm/i915/i915_gem_execbuffer.c |  5 ++---
 drivers/gpu/drm/i915/i915_gem_gtt.c        | 21 ++++++++++----------
 drivers/gpu/drm/i915/i915_gem_gtt.h        |  1 +
 drivers/gpu/drm/i915/i915_gpu_error.c      |  2 +-
 drivers/gpu/drm/i915/i915_trace.h          | 18 ++++++-----------
 8 files changed, 39 insertions(+), 51 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c 
b/drivers/gpu/drm/i915/i915_debugfs.c
index 21e2d67d3e23..fc0d1c8aa117 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -156,7 +156,7 @@ describe_obj(struct seq_file *m, struct drm_i915_gem_object 
*obj)
        if (obj->fence_reg != I915_FENCE_REG_NONE)
                seq_printf(m, " (fence: %d)", obj->fence_reg);
        list_for_each_entry(vma, &obj->vma_list, vma_link) {
-               if (!i915_is_ggtt(vma->vm))
+               if (!vma->is_ggtt)
                        seq_puts(m, " (pp");
                else
                        seq_puts(m, " (g");
@@ -335,7 +335,7 @@ static int per_file_stats(int id, void *ptr, void *data)
                        if (!drm_mm_node_allocated(&vma->node))
                                continue;
 
-                       if (i915_is_ggtt(vma->vm)) {
+                       if (vma->is_ggtt) {
                                stats->global += obj->base.size;
                                continue;
                        }
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 209c9b612509..0c6e4356fa06 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -2878,16 +2878,11 @@ bool i915_gem_obj_is_pinned(struct drm_i915_gem_object 
*obj);
 /* Some GGTT VM helpers */
 #define i915_obj_to_ggtt(obj) \
        (&((struct drm_i915_private *)(obj)->base.dev->dev_private)->gtt.base)
-static inline bool i915_is_ggtt(struct i915_address_space *vm)
-{
-       return vm->is_ggtt;
-}
 
 static inline struct i915_hw_ppgtt *
 i915_vm_to_ppgtt(struct i915_address_space *vm)
 {
-       WARN_ON(i915_is_ggtt(vm));
-
+       WARN_ON(vm->is_ggtt);
        return container_of(vm, struct i915_hw_ppgtt, base);
 }
 
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 721213c7d9d0..91b0c1db05ca 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -3118,8 +3118,7 @@ int i915_vma_unbind(struct i915_vma *vma)
         * cause memory corruption through use-after-free.
         */
 
-       if (i915_is_ggtt(vma->vm) &&
-           vma->ggtt_view.type == I915_GGTT_VIEW_NORMAL) {
+       if (vma->is_ggtt && vma->ggtt_view.type == I915_GGTT_VIEW_NORMAL) {
                i915_gem_object_finish_gtt(obj);
 
                /* release the fence reg _after_ flushing */
@@ -3133,7 +3132,7 @@ int i915_vma_unbind(struct i915_vma *vma)
        vma->unbind_vma(vma);
 
        list_del_init(&vma->mm_list);
-       if (i915_is_ggtt(vma->vm)) {
+       if (vma->is_ggtt) {
                if (vma->ggtt_view.type == I915_GGTT_VIEW_NORMAL) {
                        obj->map_and_fenceable = false;
                } else if (vma->ggtt_view.pages) {
@@ -3576,7 +3575,7 @@ i915_gem_object_bind_to_vm(struct drm_i915_gem_object 
*obj,
        struct i915_vma *vma;
        int ret;
 
-       if(WARN_ON(i915_is_ggtt(vm) != !!ggtt_view))
+       if (WARN_ON(vm->is_ggtt != !!ggtt_view))
                return ERR_PTR(-EINVAL);
 
        fence_size = i915_gem_get_gtt_size(dev,
@@ -3674,8 +3673,7 @@ search_free:
 
        /*  allocate before insert / bind */
        if (vma->vm->allocate_va_range) {
-               trace_i915_va_alloc(vma->vm, vma->node.start, vma->node.size,
-                               VM_TO_TRACE_NAME(vma->vm));
+               trace_i915_va_alloc(vma->vm, vma->node.start, vma->node.size);
                ret = vma->vm->allocate_va_range(vma->vm,
                                                vma->node.start,
                                                vma->node.size);
@@ -4278,13 +4276,13 @@ i915_gem_object_do_pin(struct drm_i915_gem_object *obj,
        if (WARN_ON(vm == &dev_priv->mm.aliasing_ppgtt->base))
                return -ENODEV;
 
-       if (WARN_ON(flags & (PIN_GLOBAL | PIN_MAPPABLE) && !i915_is_ggtt(vm)))
+       if (WARN_ON(flags & (PIN_GLOBAL | PIN_MAPPABLE) && !vm->is_ggtt))
                return -EINVAL;
 
        if (WARN_ON((flags & (PIN_MAPPABLE | PIN_GLOBAL)) == PIN_MAPPABLE))
                return -EINVAL;
 
-       if (WARN_ON(i915_is_ggtt(vm) != !!ggtt_view))
+       if (WARN_ON(vm->is_ggtt != !!ggtt_view))
                return -EINVAL;
 
        vma = ggtt_view ? i915_gem_obj_to_ggtt_view(obj, ggtt_view) :
@@ -4374,7 +4372,7 @@ i915_gem_object_pin(struct drm_i915_gem_object *obj,
                    uint64_t flags)
 {
        return i915_gem_object_do_pin(obj, vm,
-                                     i915_is_ggtt(vm) ? &i915_ggtt_view_normal 
: NULL,
+                                     vm->is_ggtt ? &i915_ggtt_view_normal : 
NULL,
                                      size, alignment, flags);
 }
 
@@ -4706,7 +4704,7 @@ struct i915_vma *i915_gem_obj_to_vma(struct 
drm_i915_gem_object *obj,
 {
        struct i915_vma *vma;
        list_for_each_entry(vma, &obj->vma_list, vma_link) {
-               if (i915_is_ggtt(vma->vm) &&
+               if (vma->is_ggtt &&
                    vma->ggtt_view.type != I915_GGTT_VIEW_NORMAL)
                        continue;
                if (vma->vm == vm)
@@ -4741,7 +4739,7 @@ void i915_gem_vma_destroy(struct i915_vma *vma)
 
        vm = vma->vm;
 
-       if (!i915_is_ggtt(vm))
+       if (!vm->is_ggtt)
                i915_ppgtt_put(i915_vm_to_ppgtt(vm));
 
        list_del(&vma->vma_link);
@@ -5105,7 +5103,7 @@ init_ring_lists(struct intel_engine_cs *ring)
 void i915_init_vm(struct drm_i915_private *dev_priv,
                  struct i915_address_space *vm)
 {
-       if (!i915_is_ggtt(vm))
+       if (!vm->is_ggtt)
                drm_mm_init(&vm->mm, vm->start, vm->total);
        vm->dev = dev_priv->dev;
        INIT_LIST_HEAD(&vm->active_list);
@@ -5265,7 +5263,7 @@ i915_gem_obj_offset(struct drm_i915_gem_object *o,
        WARN_ON(vm == &dev_priv->mm.aliasing_ppgtt->base);
 
        list_for_each_entry(vma, &o->vma_list, vma_link) {
-               if (i915_is_ggtt(vma->vm) &&
+               if (vma->is_ggtt &&
                    vma->ggtt_view.type != I915_GGTT_VIEW_NORMAL)
                        continue;
                if (vma->vm == vm)
@@ -5273,7 +5271,7 @@ i915_gem_obj_offset(struct drm_i915_gem_object *o,
        }
 
        WARN(1, "%s vma for this object not found.\n",
-            i915_is_ggtt(vm) ? "global" : "ppgtt");
+            vm->is_ggtt ? "global" : "ppgtt");
        return -1;
 }
 
@@ -5298,7 +5296,7 @@ bool i915_gem_obj_bound(struct drm_i915_gem_object *o,
        struct i915_vma *vma;
 
        list_for_each_entry(vma, &o->vma_list, vma_link) {
-               if (i915_is_ggtt(vma->vm) &&
+               if (vma->is_ggtt &&
                    vma->ggtt_view.type != I915_GGTT_VIEW_NORMAL)
                        continue;
                if (vma->vm == vm && drm_mm_node_allocated(&vma->node))
@@ -5345,7 +5343,7 @@ unsigned long i915_gem_obj_size(struct 
drm_i915_gem_object *o,
        BUG_ON(list_empty(&o->vma_list));
 
        list_for_each_entry(vma, &o->vma_list, vma_link) {
-               if (i915_is_ggtt(vma->vm) &&
+               if (vma->is_ggtt &&
                    vma->ggtt_view.type != I915_GGTT_VIEW_NORMAL)
                        continue;
                if (vma->vm == vm)
@@ -5358,7 +5356,7 @@ bool i915_gem_obj_is_pinned(struct drm_i915_gem_object 
*obj)
 {
        struct i915_vma *vma;
        list_for_each_entry(vma, &obj->vma_list, vma_link) {
-               if (i915_is_ggtt(vma->vm) &&
+               if (vma->is_ggtt &&
                    vma->ggtt_view.type != I915_GGTT_VIEW_NORMAL)
                        continue;
                if (vma->pin_count > 0)
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c 
b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
index c30334435e8e..9345436e4d95 100644
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -642,7 +642,7 @@ need_reloc_mappable(struct i915_vma *vma)
        if (entry->relocation_count == 0)
                return false;
 
-       if (!i915_is_ggtt(vma->vm))
+       if (!vma->is_ggtt)
                return false;
 
        /* See also use_cpu_reloc() */
@@ -661,8 +661,7 @@ eb_vma_misplaced(struct i915_vma *vma)
        struct drm_i915_gem_exec_object2 *entry = vma->exec_entry;
        struct drm_i915_gem_object *obj = vma->obj;
 
-       WARN_ON(entry->flags & __EXEC_OBJECT_NEEDS_MAP &&
-              !i915_is_ggtt(vma->vm));
+       WARN_ON(entry->flags & __EXEC_OBJECT_NEEDS_MAP && !vma->is_ggtt);
 
        if (entry->alignment &&
            vma->node.start & (entry->alignment - 1))
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c 
b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 68c1f49f2864..543fff104401 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
@@ -1706,7 +1706,7 @@ void i915_gem_restore_gtt_mappings(struct drm_device *dev)
                                        container_of(vm, struct i915_hw_ppgtt,
                                                     base);
 
-                       if (i915_is_ggtt(vm))
+                       if (vm->is_ggtt)
                                ppgtt = dev_priv->mm.aliasing_ppgtt;
 
                        gen6_write_page_range(dev_priv, &ppgtt->pd,
@@ -1884,7 +1884,7 @@ static void i915_ggtt_bind_vma(struct i915_vma *vma,
        unsigned int flags = (cache_level == I915_CACHE_NONE) ?
                AGP_USER_MEMORY : AGP_USER_CACHED_MEMORY;
 
-       BUG_ON(!i915_is_ggtt(vma->vm));
+       BUG_ON(!vma->is_ggtt);
        intel_gtt_insert_sg_entries(vma->ggtt_view.pages, entry, flags);
        vma->bound = GLOBAL_BIND;
 }
@@ -1904,7 +1904,7 @@ static void i915_ggtt_unbind_vma(struct i915_vma *vma)
        const unsigned int first = vma->node.start >> PAGE_SHIFT;
        const unsigned int size = vma->obj->base.size >> PAGE_SHIFT;
 
-       BUG_ON(!i915_is_ggtt(vma->vm));
+       BUG_ON(!vma->is_ggtt);
        vma->bound = 0;
        intel_gtt_clear_range(first, size);
 }
@@ -1922,7 +1922,7 @@ static void ggtt_bind_vma(struct i915_vma *vma,
        if (obj->gt_ro)
                flags |= PTE_READ_ONLY;
 
-       if (i915_is_ggtt(vma->vm))
+       if (vma->is_ggtt)
                pages = vma->ggtt_view.pages;
 
        /* If there is no aliasing PPGTT, or the caller needs a global mapping,
@@ -2534,7 +2534,7 @@ __i915_gem_vma_create(struct drm_i915_gem_object *obj,
 {
        struct i915_vma *vma;
 
-       if (WARN_ON(i915_is_ggtt(vm) != !!ggtt_view))
+       if (WARN_ON(vm->is_ggtt != !!ggtt_view))
                return ERR_PTR(-EINVAL);
        vma = kzalloc(sizeof(*vma), GFP_KERNEL);
        if (vma == NULL)
@@ -2545,9 +2545,10 @@ __i915_gem_vma_create(struct drm_i915_gem_object *obj,
        INIT_LIST_HEAD(&vma->exec_list);
        vma->vm = vm;
        vma->obj = obj;
+       vma->is_ggtt = vm->is_ggtt;
 
        if (INTEL_INFO(vm->dev)->gen >= 6) {
-               if (i915_is_ggtt(vm)) {
+               if (vm->is_ggtt) {
                        vma->ggtt_view = *ggtt_view;
 
                        vma->unbind_vma = ggtt_unbind_vma;
@@ -2557,14 +2558,14 @@ __i915_gem_vma_create(struct drm_i915_gem_object *obj,
                        vma->bind_vma = ppgtt_bind_vma;
                }
        } else {
-               BUG_ON(!i915_is_ggtt(vm));
+               BUG_ON(!vm->is_ggtt);
                vma->ggtt_view = *ggtt_view;
                vma->unbind_vma = i915_ggtt_unbind_vma;
                vma->bind_vma = i915_ggtt_bind_vma;
        }
 
        list_add_tail(&vma->vma_link, &obj->vma_list);
-       if (!i915_is_ggtt(vm))
+       if (!vm->is_ggtt)
                i915_ppgtt_get(i915_vm_to_ppgtt(vm));
 
        return vma;
@@ -2579,7 +2580,7 @@ i915_gem_obj_lookup_or_create_vma(struct 
drm_i915_gem_object *obj,
        vma = i915_gem_obj_to_vma(obj, vm);
        if (!vma)
                vma = __i915_gem_vma_create(obj, vm,
-                                           i915_is_ggtt(vm) ? 
&i915_ggtt_view_normal : NULL);
+                                           vm->is_ggtt ? 
&i915_ggtt_view_normal : NULL);
 
        return vma;
 }
@@ -2750,7 +2751,7 @@ i915_get_ggtt_vma_pages(struct i915_vma *vma)
 int i915_vma_bind(struct i915_vma *vma, enum i915_cache_level cache_level,
                  u32 flags)
 {
-       if (i915_is_ggtt(vma->vm)) {
+       if (vma->is_ggtt) {
                int ret = i915_get_ggtt_vma_pages(vma);
 
                if (ret)
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.h 
b/drivers/gpu/drm/i915/i915_gem_gtt.h
index 20398a18a8a6..dafb3b0da466 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.h
+++ b/drivers/gpu/drm/i915/i915_gem_gtt.h
@@ -159,6 +159,7 @@ struct i915_vma {
 #define LOCAL_BIND     (1<<1)
 #define PTE_READ_ONLY  (1<<2)
        unsigned int bound : 4;
+       unsigned is_ggtt : 1;
 
        /**
         * Support different GGTT views into the same object.
diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c 
b/drivers/gpu/drm/i915/i915_gpu_error.c
index 17dc2fcaba10..8832f1b2a495 100644
--- a/drivers/gpu/drm/i915/i915_gpu_error.c
+++ b/drivers/gpu/drm/i915/i915_gpu_error.c
@@ -606,7 +606,7 @@ i915_error_object_create(struct drm_i915_private *dev_priv,
                dst->gtt_offset = -1;
 
        reloc_offset = dst->gtt_offset;
-       if (i915_is_ggtt(vm))
+       if (vm->is_ggtt)
                vma = i915_gem_obj_to_ggtt(src);
        use_ggtt = (src->cache_level == I915_CACHE_NONE &&
                   vma && (vma->bound & GLOBAL_BIND) &&
diff --git a/drivers/gpu/drm/i915/i915_trace.h 
b/drivers/gpu/drm/i915/i915_trace.h
index 97483e21c9b4..ce8ee9e8bced 100644
--- a/drivers/gpu/drm/i915/i915_trace.h
+++ b/drivers/gpu/drm/i915/i915_trace.h
@@ -156,35 +156,29 @@ TRACE_EVENT(i915_vma_unbind,
                      __entry->obj, __entry->offset, __entry->size, __entry->vm)
 );
 
-#define VM_TO_TRACE_NAME(vm) \
-       (i915_is_ggtt(vm) ? "G" : \
-                     "P")
-
 DECLARE_EVENT_CLASS(i915_va,
-       TP_PROTO(struct i915_address_space *vm, u64 start, u64 length, const 
char *name),
-       TP_ARGS(vm, start, length, name),
+       TP_PROTO(struct i915_address_space *vm, u64 start, u64 length),
+       TP_ARGS(vm, start, length),
 
        TP_STRUCT__entry(
                __field(struct i915_address_space *, vm)
                __field(u64, start)
                __field(u64, end)
-               __string(name, name)
        ),
 
        TP_fast_assign(
                __entry->vm = vm;
                __entry->start = start;
                __entry->end = start + length - 1;
-               __assign_str(name, name);
        ),
 
-       TP_printk("vm=%p (%s), 0x%llx-0x%llx",
-                 __entry->vm, __get_str(name),  __entry->start, __entry->end)
+       TP_printk("vm=%p (%c), 0x%llx-0x%llx",
+                 __entry->vm, __entry->vm->is_ggtt ? 'G' : 'P',  
__entry->start, __entry->end)
 );
 
 DEFINE_EVENT(i915_va, i915_va_alloc,
-            TP_PROTO(struct i915_address_space *vm, u64 start, u64 length, 
const char *name),
-            TP_ARGS(vm, start, length, name)
+            TP_PROTO(struct i915_address_space *vm, u64 start, u64 length),
+            TP_ARGS(vm, start, length)
 );
 
 DECLARE_EVENT_CLASS(i915_page_table_entry,
-- 
2.1.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to