[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1332836421.5395.338.camel@thor.local>
Date: Tue, 27 Mar 2012 10:20:21 +0200
From: Michel Dänzer <michel@...nzer.net>
To: Benjamin Herrenschmidt <benh@...nel.crashing.org>
Cc: Dave Jones <davej@...hat.com>,
Linux Kernel <linux-kernel@...r.kernel.org>,
dri-devel@...ts.freedesktop.org
Subject: Re: WARNING: at drivers/gpu/drm/radeon/radeon_object.c:236
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;
}
radeon_ttm_placement_from_domain(bo, domain);
--
Earthling Michel Dänzer | http://www.amd.com
Libre software enthusiast | Debian, X and DRI developer
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists