* Re: WARNING: at drivers/gpu/drm/radeon/radeon_object.c:236 [not found] ` <1332829303.2882.52.camel@pasglop> @ 2012-03-27 8:20 ` Michel Dänzer 2012-03-28 0:21 ` Dave Jones 0 siblings, 1 reply; 4+ messages in thread From: Michel Dänzer @ 2012-03-27 8:20 UTC (permalink / raw) To: Benjamin Herrenschmidt; +Cc: Dave Jones, Linux Kernel, dri-devel 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 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: WARNING: at drivers/gpu/drm/radeon/radeon_object.c:236 2012-03-27 8:20 ` WARNING: at drivers/gpu/drm/radeon/radeon_object.c:236 Michel Dänzer @ 2012-03-28 0:21 ` Dave Jones 2012-03-28 1:06 ` Benjamin Herrenschmidt 0 siblings, 1 reply; 4+ messages in thread From: Dave Jones @ 2012-03-28 0:21 UTC (permalink / raw) To: Michel Dänzer; +Cc: Benjamin Herrenschmidt, Linux Kernel, dri-devel 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@redhat.com> thanks, Dave ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: WARNING: at drivers/gpu/drm/radeon/radeon_object.c:236 2012-03-28 0:21 ` Dave Jones @ 2012-03-28 1:06 ` Benjamin Herrenschmidt 2012-03-28 6:52 ` [PATCH] drm/radeon: Only warn if the intra-domain offset actually exceeds the limit Michel Dänzer 0 siblings, 1 reply; 4+ messages in thread From: Benjamin Herrenschmidt @ 2012-03-28 1:06 UTC (permalink / raw) To: Dave Jones; +Cc: Michel Dänzer, Linux Kernel, dri-devel On Tue, 2012-03-27 at 20:21 -0400, Dave Jones wrote: > > Stops the warning, and there are no additional side-effects, > so looks all good here. Same. > Tested-by: Dave Jones <davej@redhat.com> Tested-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> > thanks, > > Dave ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] drm/radeon: Only warn if the intra-domain offset actually exceeds the limit. 2012-03-28 1:06 ` Benjamin Herrenschmidt @ 2012-03-28 6:52 ` Michel Dänzer 0 siblings, 0 replies; 4+ messages in thread From: Michel Dänzer @ 2012-03-28 6:52 UTC (permalink / raw) To: dri-devel From: Michel Dänzer <michel.daenzer@amd.com> Fixes spurious warnings. Tested-by: Dave Jones <davej@redhat.com> Tested-by: Steven Rostedt <rostedt@goodmis.org> Tested-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> --- Thanks to Dave, Steven and Ben for testing the patch! drivers/gpu/drm/radeon/radeon_object.c | 12 +++++++++++- 1 files changed, 11 insertions(+), 1 deletions(-) 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); -- 1.7.9.1 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-03-28 6:52 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20120326213250.GA16328@redhat.com>
[not found] ` <1332829303.2882.52.camel@pasglop>
2012-03-27 8:20 ` WARNING: at drivers/gpu/drm/radeon/radeon_object.c:236 Michel Dänzer
2012-03-28 0:21 ` Dave Jones
2012-03-28 1:06 ` Benjamin Herrenschmidt
2012-03-28 6:52 ` [PATCH] drm/radeon: Only warn if the intra-domain offset actually exceeds the limit Michel Dänzer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox