Re: [PATCH] drm/i915/selftests: Report setup errors for igt_partial_tiling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes:

> igt_partial_tiling managed to fail with an -EBUSY. This usually means a
> pin leak, but that should be impossible given the test setup. Add a
> couple of error messages to help identify the path that failed.
>
> References: https://bugs.freedesktop.org/show_bug.cgi?id=105073
> Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>

Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx>

> ---
>  drivers/gpu/drm/i915/selftests/i915_gem_object.c | 18 ++++++++++++------
>  1 file changed, 12 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_object.c b/drivers/gpu/drm/i915/selftests/i915_gem_object.c
> index f32aa6bb79e2..3c64815e910b 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_gem_object.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_gem_object.c
> @@ -212,8 +212,11 @@ static int check_partial_mapping(struct drm_i915_gem_object *obj,
>  		return -EINTR;
>  
>  	err = i915_gem_object_set_tiling(obj, tile->tiling, tile->stride);
> -	if (err)
> +	if (err) {
> +		pr_err("Failed to set tiling mode=%u, stride=%u, err=%d\n",
> +		       tile->tiling, tile->stride, err);
>  		return err;
> +	}
>  
>  	GEM_BUG_ON(i915_gem_object_get_tiling(obj) != tile->tiling);
>  	GEM_BUG_ON(i915_gem_object_get_stride(obj) != tile->stride);
> @@ -230,13 +233,16 @@ static int check_partial_mapping(struct drm_i915_gem_object *obj,
>  		GEM_BUG_ON(view.partial.size > nreal);
>  
>  		err = i915_gem_object_set_to_gtt_domain(obj, true);
> -		if (err)
> +		if (err) {
> +			pr_err("Failed to flush to GTT write domain; err=%d\n",
> +			       err);
>  			return err;
> +		}
>  
>  		vma = i915_gem_object_ggtt_pin(obj, &view, 0, 0, PIN_MAPPABLE);
>  		if (IS_ERR(vma)) {
> -			pr_err("Failed to pin partial view: offset=%lu\n",
> -			       page);
> +			pr_err("Failed to pin partial view: offset=%lu; err=%d\n",
> +			       page, (int)PTR_ERR(vma));
>  			return PTR_ERR(vma);
>  		}
>  
> @@ -246,8 +252,8 @@ static int check_partial_mapping(struct drm_i915_gem_object *obj,
>  		io = i915_vma_pin_iomap(vma);
>  		i915_vma_unpin(vma);
>  		if (IS_ERR(io)) {
> -			pr_err("Failed to iomap partial view: offset=%lu\n",
> -			       page);
> +			pr_err("Failed to iomap partial view: offset=%lu; err=%d\n",
> +			       page, (int)PTR_ERR(io));
>  			return PTR_ERR(io);
>  		}
>  
> -- 
> 2.16.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux