drm/i915/gtt: Convert WARN_ON to GEM debugging
As we presume that we have sufficient coverage of CI for new machines and new code paths, we do not need to have user impacting WARN_ON for programming errors inside i915_gem_gtt.c, so convert those over to GEM_BUG_ON. This leaves the memory debugging WARN_ON in place as they are not so easy to exercise with CI. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> Cc: Matthew Auld <matthew.auld@intel.com> Reviewed-by: Matthew Auld <matthew.auld@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20180215110759.28603-1-chris@chris-wilson.co.uk
This commit is contained in:
parent
cc32909552
commit
62d4028fb0
|
@ -710,7 +710,7 @@ alloc_pdp(struct i915_address_space *vm)
|
||||||
struct i915_page_directory_pointer *pdp;
|
struct i915_page_directory_pointer *pdp;
|
||||||
int ret = -ENOMEM;
|
int ret = -ENOMEM;
|
||||||
|
|
||||||
WARN_ON(!use_4lvl(vm));
|
GEM_BUG_ON(!use_4lvl(vm));
|
||||||
|
|
||||||
pdp = kzalloc(sizeof(*pdp), GFP_KERNEL);
|
pdp = kzalloc(sizeof(*pdp), GFP_KERNEL);
|
||||||
if (!pdp)
|
if (!pdp)
|
||||||
|
@ -2249,9 +2249,9 @@ void i915_ppgtt_release(struct kref *kref)
|
||||||
trace_i915_ppgtt_release(&ppgtt->base);
|
trace_i915_ppgtt_release(&ppgtt->base);
|
||||||
|
|
||||||
/* vmas should already be unbound and destroyed */
|
/* vmas should already be unbound and destroyed */
|
||||||
WARN_ON(!list_empty(&ppgtt->base.active_list));
|
GEM_BUG_ON(!list_empty(&ppgtt->base.active_list));
|
||||||
WARN_ON(!list_empty(&ppgtt->base.inactive_list));
|
GEM_BUG_ON(!list_empty(&ppgtt->base.inactive_list));
|
||||||
WARN_ON(!list_empty(&ppgtt->base.unbound_list));
|
GEM_BUG_ON(!list_empty(&ppgtt->base.unbound_list));
|
||||||
|
|
||||||
ppgtt->base.cleanup(&ppgtt->base);
|
ppgtt->base.cleanup(&ppgtt->base);
|
||||||
i915_address_space_fini(&ppgtt->base);
|
i915_address_space_fini(&ppgtt->base);
|
||||||
|
@ -2814,10 +2814,10 @@ int i915_gem_init_aliasing_ppgtt(struct drm_i915_private *i915)
|
||||||
|
|
||||||
i915->mm.aliasing_ppgtt = ppgtt;
|
i915->mm.aliasing_ppgtt = ppgtt;
|
||||||
|
|
||||||
WARN_ON(ggtt->base.bind_vma != ggtt_bind_vma);
|
GEM_BUG_ON(ggtt->base.bind_vma != ggtt_bind_vma);
|
||||||
ggtt->base.bind_vma = aliasing_gtt_bind_vma;
|
ggtt->base.bind_vma = aliasing_gtt_bind_vma;
|
||||||
|
|
||||||
WARN_ON(ggtt->base.unbind_vma != ggtt_unbind_vma);
|
GEM_BUG_ON(ggtt->base.unbind_vma != ggtt_unbind_vma);
|
||||||
ggtt->base.unbind_vma = aliasing_gtt_unbind_vma;
|
ggtt->base.unbind_vma = aliasing_gtt_unbind_vma;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2908,7 +2908,7 @@ void i915_ggtt_cleanup_hw(struct drm_i915_private *dev_priv)
|
||||||
ggtt->base.closed = true;
|
ggtt->base.closed = true;
|
||||||
|
|
||||||
mutex_lock(&dev_priv->drm.struct_mutex);
|
mutex_lock(&dev_priv->drm.struct_mutex);
|
||||||
WARN_ON(!list_empty(&ggtt->base.active_list));
|
GEM_BUG_ON(!list_empty(&ggtt->base.active_list));
|
||||||
list_for_each_entry_safe(vma, vn, &ggtt->base.inactive_list, vm_link)
|
list_for_each_entry_safe(vma, vn, &ggtt->base.inactive_list, vm_link)
|
||||||
WARN_ON(i915_vma_unbind(vma));
|
WARN_ON(i915_vma_unbind(vma));
|
||||||
mutex_unlock(&dev_priv->drm.struct_mutex);
|
mutex_unlock(&dev_priv->drm.struct_mutex);
|
||||||
|
@ -3801,6 +3801,9 @@ i915_get_ggtt_vma_pages(struct i915_vma *vma)
|
||||||
GEM_BUG_ON(!i915_gem_object_has_pinned_pages(vma->obj));
|
GEM_BUG_ON(!i915_gem_object_has_pinned_pages(vma->obj));
|
||||||
|
|
||||||
switch (vma->ggtt_view.type) {
|
switch (vma->ggtt_view.type) {
|
||||||
|
default:
|
||||||
|
GEM_BUG_ON(vma->ggtt_view.type);
|
||||||
|
/* fall through */
|
||||||
case I915_GGTT_VIEW_NORMAL:
|
case I915_GGTT_VIEW_NORMAL:
|
||||||
vma->pages = vma->obj->mm.pages;
|
vma->pages = vma->obj->mm.pages;
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -3813,11 +3816,6 @@ i915_get_ggtt_vma_pages(struct i915_vma *vma)
|
||||||
case I915_GGTT_VIEW_PARTIAL:
|
case I915_GGTT_VIEW_PARTIAL:
|
||||||
vma->pages = intel_partial_pages(&vma->ggtt_view, vma->obj);
|
vma->pages = intel_partial_pages(&vma->ggtt_view, vma->obj);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
|
||||||
WARN_ONCE(1, "GGTT view %u not implemented!\n",
|
|
||||||
vma->ggtt_view.type);
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
Loading…
Reference in New Issue