Re: WARNING: at drivers/gpu/drm/radeon/radeon_object.c:236

From: Dave Jones
Date: Tue Mar 27 2012 - 20:21:33 EST


On Tue, Mar 27, 2012 at 10:20:21AM +0200, Michel Dänzer wrote:
> On Die, 2012-03-27 at 17:21 +1100, Benjamin Herrenschmidt wrote:
> > On Mon, 2012-03-26 at 17:32 -0400, Dave Jones wrote:
> > > Seeing this in Linus' tree as of v3.3-6972-ge22057c
> >
> > Same WARN_ON hit here on a G5 with rv350
>
> Thanks for the report, guys. Does the patch below help?
>
>
> diff --git a/drivers/gpu/drm/radeon/radeon_object.c b/drivers/gpu/drm/radeon/radeon_object.c
> index f441d58..ad9d450 100644
> --- a/drivers/gpu/drm/radeon/radeon_object.c
> +++ b/drivers/gpu/drm/radeon/radeon_object.c
> @@ -233,7 +233,17 @@ int radeon_bo_pin_restricted(struct radeon_bo *bo, u32 domain, u64 max_offset,
> bo->pin_count++;
> if (gpu_addr)
> *gpu_addr = radeon_bo_gpu_offset(bo);
> - WARN_ON_ONCE(max_offset != 0);
> +
> + if (max_offset != 0) {
> + u64 domain_start;
> +
> + if (domain == RADEON_GEM_DOMAIN_VRAM)
> + domain_start = bo->rdev->mc.vram_start;
> + else
> + domain_start = bo->rdev->mc.gtt_start;
> + WARN_ON_ONCE((*gpu_addr - domain_start) > max_offset);
> + }
> +
> return 0;

Stops the warning, and there are no additional side-effects,
so looks all good here.

Tested-by: Dave Jones <davej@xxxxxxxxxx>

thanks,

Dave

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/