* 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