drm/i915: BUG_ON when ggtt_view is NULL
authorMatthew Auld <matthew.auld@intel.com>
Thu, 24 Mar 2016 15:54:20 +0000 (15:54 +0000)
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Wed, 30 Mar 2016 10:47:18 +0000 (13:47 +0300)
Lets BUG_ON and don't bother with a WARN and returning an error, so we can
remove the need to pollute the code with error handling, after all it is
a programmer error to provide NULL view. Also while we're here remove
redundant NULL ggtt_view check.

Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1458834860-7898-1-git-send-email-matthew.auld@intel.com
drivers/gpu/drm/i915/i915_gem.c
drivers/gpu/drm/i915/i915_gem_gtt.c

index c7a997aeb33fe9d3fa8dc25c2b40c2dba7ae3d99..cbf616af9281dd71830e76843658124015ba0b25 100644 (file)
@@ -4235,9 +4235,6 @@ i915_gem_object_do_pin(struct drm_i915_gem_object *obj,
        vma = ggtt_view ? i915_gem_obj_to_ggtt_view(obj, ggtt_view) :
                          i915_gem_obj_to_vma(obj, vm);
 
-       if (IS_ERR(vma))
-               return PTR_ERR(vma);
-
        if (vma) {
                if (WARN_ON(vma->pin_count == DRM_I915_GEM_OBJECT_MAX_PIN_COUNT))
                        return -EBUSY;
@@ -4300,8 +4297,7 @@ i915_gem_object_ggtt_pin(struct drm_i915_gem_object *obj,
                         uint32_t alignment,
                         uint64_t flags)
 {
-       if (WARN_ONCE(!view, "no view specified"))
-               return -EINVAL;
+       BUG_ON(!view);
 
        return i915_gem_object_do_pin(obj, i915_obj_to_ggtt(obj), view,
                                      alignment, flags | PIN_GLOBAL);
@@ -4618,8 +4614,7 @@ struct i915_vma *i915_gem_obj_to_ggtt_view(struct drm_i915_gem_object *obj,
        struct i915_address_space *ggtt = i915_obj_to_ggtt(obj);
        struct i915_vma *vma;
 
-       if (WARN_ONCE(!view, "no view specified"))
-               return ERR_PTR(-EINVAL);
+       BUG_ON(!view);
 
        list_for_each_entry(vma, &obj->vma_list, obj_link)
                if (vma->vm == ggtt &&
index 7cfafdc80b17f49dee7248a38b36ea802ad80ec3..073c6bbe338813f118091e57e281b2fe85a4556f 100644 (file)
@@ -3341,15 +3341,7 @@ i915_gem_obj_lookup_or_create_ggtt_vma(struct drm_i915_gem_object *obj,
                                       const struct i915_ggtt_view *view)
 {
        struct i915_address_space *ggtt = i915_obj_to_ggtt(obj);
-       struct i915_vma *vma;
-
-       if (WARN_ON(!view))
-               return ERR_PTR(-EINVAL);
-
-       vma = i915_gem_obj_to_ggtt_view(obj, view);
-
-       if (IS_ERR(vma))
-               return vma;
+       struct i915_vma *vma = i915_gem_obj_to_ggtt_view(obj, view);
 
        if (!vma)
                vma = __i915_gem_vma_create(obj, ggtt, view);