drm/amd/amdgpu: add mutex in check_soft for VCE v3
authorTom St Denis <tom.stdenis@amd.com>
Thu, 11 Aug 2016 13:55:51 +0000 (09:55 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 16 Aug 2016 14:39:27 +0000 (10:39 -0400)
Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/vce_v3_0.c

index 073cf9ed06742fc34ac5c46b76b2908a261940c2..615b8b16ad0444c0d8240c9d684e519a7c5dfb74 100644 (file)
@@ -569,6 +569,7 @@ static int vce_v3_0_check_soft_reset(void *handle)
         *
         * VCE team suggest use bit 3--bit 6 for busy status check
         */
+       mutex_lock(&adev->grbm_idx_mutex);
        WREG32_FIELD(GRBM_GFX_INDEX, INSTANCE_INDEX, 0);
        if (RREG32(mmVCE_STATUS) & AMDGPU_VCE_STATUS_BUSY_MASK) {
                srbm_soft_reset = REG_SET_FIELD(srbm_soft_reset, SRBM_SOFT_RESET, SOFT_RESET_VCE0, 1);
@@ -588,6 +589,7 @@ static int vce_v3_0_check_soft_reset(void *handle)
                adev->ip_block_status[AMD_IP_BLOCK_TYPE_VCE].hang = false;
                adev->vce.srbm_soft_reset = 0;
        }
+       mutex_unlock(&adev->grbm_idx_mutex);
        return 0;
 }