drm/amdgpu: load MEC ucode manually on iceland
authorAlex Deucher <alexander.deucher@amd.com>
Tue, 2 Feb 2016 21:22:15 +0000 (16:22 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 3 Feb 2016 03:54:32 +0000 (22:54 -0500)
The smc doesn't handle it.

Reviewed-by: Ken Wang <Qingqing.Wang@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c

index 87c3332f45e30455567847c64365b748fd5d3e16..8f8ec37ecd883599b416773a0a6a579da6131515 100644 (file)
@@ -3851,10 +3851,16 @@ static int gfx_v8_0_cp_resume(struct amdgpu_device *adev)
                        if (r)
                                return -EINVAL;
 
-                       r = adev->smu.smumgr_funcs->check_fw_load_finish(adev,
-                                                       AMDGPU_UCODE_ID_CP_MEC1);
-                       if (r)
-                               return -EINVAL;
+                       if (adev->asic_type == CHIP_TOPAZ) {
+                               r = gfx_v8_0_cp_compute_load_microcode(adev);
+                               if (r)
+                                       return r;
+                       } else {
+                               r = adev->smu.smumgr_funcs->check_fw_load_finish(adev,
+                                                                                AMDGPU_UCODE_ID_CP_MEC1);
+                               if (r)
+                                       return -EINVAL;
+                       }
                }
        }