drm/amdgpu: fix s3 ring test failed on Vi caused by KIQ enabled.
authorRex Zhu <Rex.Zhu@amd.com>
Mon, 24 Apr 2017 14:00:09 +0000 (22:00 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 24 May 2017 21:40:05 +0000 (17:40 -0400)
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c

index 390e42fbc69289920a7827f63594a79e7aac6976..8da7ecc8a8c8871dd150a2360611c4bc97d5e46a 100644 (file)
@@ -4981,7 +4981,6 @@ static int gfx_v8_0_kiq_init_queue(struct amdgpu_ring *ring)
                /* reset ring buffer */
                ring->wptr = 0;
                amdgpu_ring_clear_ring(ring);
-
                mutex_lock(&adev->srbm_mutex);
                vi_srbm_select(adev, ring->me, ring->pipe, ring->queue, 0);
                gfx_v8_0_kiq_init_register(ring);
@@ -5023,12 +5022,12 @@ static int gfx_v8_0_kcq_init_queue(struct amdgpu_ring *ring)
                /* reset MQD to a clean status */
                if (adev->gfx.mec.mqd_backup[mqd_idx])
                        memcpy(mqd, adev->gfx.mec.mqd_backup[mqd_idx], sizeof(*mqd));
-
                /* reset ring buffer */
                ring->wptr = 0;
                amdgpu_ring_clear_ring(ring);
+       } else {
+               amdgpu_ring_clear_ring(ring);
        }
-
        return 0;
 }