drm/radeon: fix scratch reg handling for UVD fence
authorChristian König <christian.koenig@amd.com>
Wed, 24 Apr 2013 12:11:09 +0000 (14:11 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 2 May 2013 14:01:48 +0000 (10:01 -0400)
Also init the scratch reg to zero on the UVD ring.
This fixes UVD on AGP based cards.

Signed-off-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/radeon/radeon_fence.c

index 1a699cefaac774842dc6d8ade7e4c2ad03219fcc..5b937dfe6f65b8fc1c89f0370afbeb1100a61fdf 100644 (file)
@@ -767,8 +767,8 @@ int radeon_fence_driver_start_ring(struct radeon_device *rdev, int ring)
 
        radeon_scratch_free(rdev, rdev->fence_drv[ring].scratch_reg);
        if (rdev->wb.use_event || !radeon_ring_supports_scratch_reg(rdev, &rdev->ring[ring])) {
+               rdev->fence_drv[ring].scratch_reg = 0;
                if (ring != R600_RING_TYPE_UVD_INDEX) {
-                       rdev->fence_drv[ring].scratch_reg = 0;
                        index = R600_WB_EVENT_OFFSET + ring * 4;
                        rdev->fence_drv[ring].cpu_addr = &rdev->wb.wb[index/4];
                        rdev->fence_drv[ring].gpu_addr = rdev->wb.gpu_addr +