[Intel-gfx] [PATCH] drm/i915: BUG_ON when ggtt_view is NULL

Joonas Lahtinen joonas.lahtinen at linux.intel.com
Wed Mar 30 10:02:33 UTC 2016


On to, 2016-03-24 at 15:54 +0000, Matthew Auld wrote:
> 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 at linux.intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at linux.intel.com>

Thanks for the patch, I'll merge.

Reviewed-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> Signed-off-by: Matthew Auld <matthew.auld at intel.com>
> ---
>  drivers/gpu/drm/i915/i915_gem.c     |  9 ++-------
>  drivers/gpu/drm/i915/i915_gem_gtt.c | 10 +---------
>  2 files changed, 3 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index c7a997a..cbf616a 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -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 &&
> diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
> index 7cfafdc..073c6bb 100644
> --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> @@ -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);
-- 
Joonas Lahtinen
Open Source Technology Center
Intel Corporation


More information about the Intel-gfx mailing list