On Tue, Dec 02, 2014 at 04:19:43PM +0100, Daniel Vetter wrote: > /* Generate a semi-unique error code. The code is not meant to have meaning, The > @@ -1085,7 +1083,6 @@ static void i915_gem_capture_vm(struct drm_i915_private *dev_priv, > const int ndx) > { > struct drm_i915_error_buffer *active_bo = NULL, *pinned_bo = NULL; > - struct drm_i915_gem_object *obj; > struct i915_vma *vma; > int i; > > @@ -1094,12 +1091,12 @@ static void i915_gem_capture_vm(struct drm_i915_private *dev_priv, > i++; > error->active_bo_count[ndx] = i; > > - list_for_each_entry(obj, &dev_priv->mm.bound_list, global_list) { > - list_for_each_entry(vma, &obj->vma_list, vma_link) > - if (vma->vm == vm && vma->pin_count > 0) { > - i++; > + if (i915_is_ggtt(vm)) { > + list_for_each_entry(vma, &vm->inactive_list, mm_list) { > + if (vma->pin_count == 0) > break; > - } > + i++; > + } > } > error->pinned_bo_count[ndx] = i - error->active_bo_count[ndx]; > > @@ -1119,7 +1116,7 @@ static void i915_gem_capture_vm(struct drm_i915_private *dev_priv, > error->pinned_bo_count[ndx] = > capture_pinned_bo(pinned_bo, > error->pinned_bo_count[ndx], > - &dev_priv->mm.bound_list, vm); > + &vm->inactive_list); I much prefer this to be an iteraction over the bound_list and check if the object has a ggtt bound vma. Combined with the request to only print out the pinned bo in the GGTT, it becomes much clearer and doesn't need to result in the confusing "active + pinned for GGTT". -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx