dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* 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