diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_test.c')
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_test.c | 34 | 
1 files changed, 25 insertions, 9 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_test.c b/drivers/gpu/drm/radeon/radeon_test.c index dee4a0c1b4b..602fa3541c4 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) { @@ -132,9 +136,15 @@ void radeon_test_moves(struct radeon_device *rdev)  		     gtt_start++, vram_start++) {  			if (*vram_start != gtt_start) {  				DRM_ERROR("Incorrect GTT->VRAM copy %d: Got 0x%p, " -					  "expected 0x%p (GTT map 0x%p-0x%p)\n", -					  i, *vram_start, gtt_start, gtt_map, -					  gtt_end); +					  "expected 0x%p (GTT/VRAM offset " +					  "0x%16llx/0x%16llx)\n", +					  i, *vram_start, gtt_start, +					  (unsigned long long) +					  (gtt_addr - rdev->mc.gtt_start + +					   (void*)gtt_start - gtt_map), +					  (unsigned long long) +					  (vram_addr - rdev->mc.vram_start + +					   (void*)gtt_start - gtt_map));  				radeon_bo_kunmap(vram_obj);  				goto out_cleanup;  			} @@ -175,9 +185,15 @@ void radeon_test_moves(struct radeon_device *rdev)  		     gtt_start++, vram_start++) {  			if (*gtt_start != vram_start) {  				DRM_ERROR("Incorrect VRAM->GTT copy %d: Got 0x%p, " -					  "expected 0x%p (VRAM map 0x%p-0x%p)\n", -					  i, *gtt_start, vram_start, vram_map, -					  vram_end); +					  "expected 0x%p (VRAM/GTT offset " +					  "0x%16llx/0x%16llx)\n", +					  i, *gtt_start, vram_start, +					  (unsigned long long) +					  (vram_addr - rdev->mc.vram_start + +					   (void*)vram_start - vram_map), +					  (unsigned long long) +					  (gtt_addr - rdev->mc.gtt_start + +					   (void*)vram_start - vram_map));  				radeon_bo_kunmap(gtt_obj[i]);  				goto out_cleanup;  			}  |