drm/amdgpu: Power down VCN and JPEG before disabling SMU features
authorChengzhe Liu <ChengZhe.Liu@amd.com>
Fri, 18 Jun 2021 09:02:55 +0000 (17:02 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 30 Jun 2021 03:41:23 +0000 (23:41 -0400)
When unloading driver, if VCN is powered on, sending message
DisableAllSmuFeatures to SMU will cause SMU hang. We need to
power down VCN and JPEG before clean up SMU.

Signed-off-by: Chengzhe Liu <ChengZhe.Liu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c

index cb375f1..ebe6721 100644 (file)
@@ -1453,10 +1453,14 @@ static int smu_hw_fini(void *handle)
 
        if (smu->is_apu) {
                smu_powergate_sdma(&adev->smu, true);
-               smu_dpm_set_vcn_enable(smu, false);
-               smu_dpm_set_jpeg_enable(smu, false);
        }
 
+       smu_dpm_set_vcn_enable(smu, false);
+       smu_dpm_set_jpeg_enable(smu, false);
+
+       adev->vcn.cur_state = AMD_PG_STATE_GATE;
+       adev->jpeg.cur_state = AMD_PG_STATE_GATE;
+
        if (!smu->pm_enabled)
                return 0;