Rename some variables, and clean up the code a bit to make things
clearer in our error capture.

There isn't an intentional functional change here.

Signed-off-by: Ben Widawsky <b...@bwidawsk.net>
---
 drivers/gpu/drm/i915/i915_gpu_error.c | 55 ++++++++++++++++++++---------------
 1 file changed, 32 insertions(+), 23 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gpu_error.c 
b/drivers/gpu/drm/i915/i915_gpu_error.c
index 550ba38..ebe2904 100644
--- a/drivers/gpu/drm/i915/i915_gpu_error.c
+++ b/drivers/gpu/drm/i915/i915_gpu_error.c
@@ -967,63 +967,72 @@ static void i915_gem_record_rings(struct drm_device *dev,
        }
 }
 
-/* FIXME: Since pin count/bound list is global, we duplicate what we capture 
per
+/**
+ * i915_gem_capture_vm() - Capture a VMs error state.
+ * @error:     The main error structure
+ * @vm:                The address space we're capturing.
+ * @vm_ndx:    Which vm without the buffer array
+ *
+ * FIXME: Since pin count/bound list is global, we duplicate what we capture 
per
  * VM.
  */
 static void i915_gem_capture_vm(struct drm_i915_private *dev_priv,
                                struct drm_i915_error_state *error,
                                struct i915_address_space *vm,
-                               const int ndx)
+                               const int vm_ndx)
 {
        struct drm_i915_error_buffer *active_bo = NULL, *pinned_bo = NULL;
        struct drm_i915_gem_object *obj;
        struct i915_vma *vma;
-       int i;
+       int active_vma_count = 0;
 
-       i = 0;
        list_for_each_entry(vma, &vm->active_list, mm_list)
-               i++;
-       error->active_bo_count[ndx] = i;
+               active_vma_count++;
+
+       error->active_bo_count[vm_ndx] = active_vma_count;
+
        list_for_each_entry(obj, &dev_priv->mm.bound_list, global_list)
                if (i915_gem_obj_is_pinned(obj))
-                       i++;
-       error->pinned_bo_count[ndx] = i - error->active_bo_count[ndx];
+                       active_vma_count++;
+
+       /* XXX: this is an incorrect measurement of pinned BOs */
+       error->pinned_bo_count[vm_ndx] = active_vma_count - 
error->active_bo_count[vm_ndx];
 
-       if (i) {
-               active_bo = kcalloc(i, sizeof(*active_bo), GFP_ATOMIC);
+       if (active_vma_count) {
+               active_bo = kcalloc(active_vma_count, sizeof(*active_bo), 
GFP_ATOMIC);
                if (active_bo)
-                       pinned_bo = active_bo + error->active_bo_count[ndx];
+                       pinned_bo = active_bo + error->active_bo_count[vm_ndx];
        }
 
        if (active_bo)
-               error->active_bo_count[ndx] =
+               error->active_bo_count[vm_ndx] =
                        capture_active_bo(active_bo,
-                                         error->active_bo_count[ndx],
+                                         error->active_bo_count[vm_ndx],
                                          &vm->active_list);
 
        if (pinned_bo)
-               error->pinned_bo_count[ndx] =
+               error->pinned_bo_count[vm_ndx] =
                        capture_pinned_bo(pinned_bo,
-                                         error->pinned_bo_count[ndx],
+                                         error->pinned_bo_count[vm_ndx],
                                          &dev_priv->mm.bound_list);
-       error->active_bo[ndx] = active_bo;
-       error->pinned_bo[ndx] = pinned_bo;
+       error->active_bo[vm_ndx] = active_bo;
+       error->pinned_bo[vm_ndx] = pinned_bo;
 }
 
 static void i915_gem_capture_buffers(struct drm_i915_private *dev_priv,
                                     struct drm_i915_error_state *error)
 {
        struct i915_address_space *vm;
-       int cnt = 0, i = 0;
+       int vm_count = 0, i = 0;
 
        list_for_each_entry(vm, &dev_priv->vm_list, global_link)
-               cnt++;
+               vm_count++;
 
-       error->active_bo = kcalloc(cnt, sizeof(*error->active_bo), GFP_ATOMIC);
-       error->pinned_bo = kcalloc(cnt, sizeof(*error->pinned_bo), GFP_ATOMIC);
-       error->active_bo_count = kcalloc(cnt, sizeof(*error->active_bo_count),
+       error->active_bo = kcalloc(vm_count, sizeof(*error->active_bo), 
GFP_ATOMIC);
+       error->pinned_bo = kcalloc(vm_count, sizeof(*error->pinned_bo), 
GFP_ATOMIC);
+       error->active_bo_count = kcalloc(vm_count, 
sizeof(*error->active_bo_count),
                                         GFP_ATOMIC);
-       error->pinned_bo_count = kcalloc(cnt, sizeof(*error->pinned_bo_count),
+       error->pinned_bo_count = kcalloc(vm_count, 
sizeof(*error->pinned_bo_count),
                                         GFP_ATOMIC);
 
        list_for_each_entry(vm, &dev_priv->vm_list, global_link)
-- 
2.0.1

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

Reply via email to