diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_device.c')
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_device.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c index d2e243867ac..7a3daebd732 100644 --- a/drivers/gpu/drm/radeon/radeon_device.c +++ b/drivers/gpu/drm/radeon/radeon_device.c @@ -1051,7 +1051,7 @@ int radeon_device_init(struct radeon_device *rdev,  	if (rdev->flags & RADEON_IS_AGP)  		rdev->need_dma32 = true;  	if ((rdev->flags & RADEON_IS_PCI) && -	    (rdev->family < CHIP_RS400)) +	    (rdev->family <= CHIP_RS740))  		rdev->need_dma32 = true;  	dma_bits = rdev->need_dma32 ? 32 : 40; @@ -1346,12 +1346,15 @@ retry:  		for (i = 0; i < RADEON_NUM_RINGS; ++i) {  			radeon_ring_restore(rdev, &rdev->ring[i],  					    ring_sizes[i], ring_data[i]); +			ring_sizes[i] = 0; +			ring_data[i] = NULL;  		}  		r = radeon_ib_ring_tests(rdev);  		if (r) {  			dev_err(rdev->dev, "ib ring test failed (%d).\n", r);  			if (saved) { +				saved = false;  				radeon_suspend(rdev);  				goto retry;  			}  |