Message ID | 1313767459-7796-1-git-send-email-michel@daenzer.net (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Fre, 2011-08-19 at 14:59 -0400, Alex Deucher wrote: > 2011/8/19 Michel Dänzer <michel@daenzer.net>: > > From: Michel Dänzer <michel.daenzer@amd.com> > > > > Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> > > Should probably also take into account the additional CP rings we > allocate on cayman. Thanks for the heads up. As we'd probably keep missing new additions like that, I'll post a followup patch to just silently abort on BO allocation/pinning failure instead.
diff --git a/drivers/gpu/drm/radeon/radeon_test.c b/drivers/gpu/drm/radeon/radeon_test.c index dee4a0c..1ebd0fe 100644 --- a/drivers/gpu/drm/radeon/radeon_test.c +++ b/drivers/gpu/drm/radeon/radeon_test.c @@ -40,10 +40,14 @@ void radeon_test_moves(struct radeon_device *rdev) size = 1024 * 1024; /* Number of tests = - * (Total GTT - IB pool - writeback page - ring buffer) / test size + * (Total GTT - IB pool - writeback page - ring buffers) / test size */ - n = ((u32)(rdev->mc.gtt_size - RADEON_IB_POOL_SIZE*64*1024 - RADEON_GPU_PAGE_SIZE - - rdev->cp.ring_size)) / size; + n = rdev->mc.gtt_size - RADEON_IB_POOL_SIZE*64*1024 - rdev->cp.ring_size; + if (rdev->wb.wb_obj) + n -= RADEON_GPU_PAGE_SIZE; + if (rdev->ih.ring_obj) + n -= rdev->ih.ring_size; + n /= size; gtt_obj = kzalloc(n * sizeof(*gtt_obj), GFP_KERNEL); if (!gtt_obj) {