]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd: Drop calls to restore power limit and clock from smu_resume()
authorMario Limonciello <mario.limonciello@amd.com>
Thu, 9 Oct 2025 20:59:07 +0000 (15:59 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 13 Oct 2025 18:14:36 +0000 (14:14 -0400)
User requested power limits and clock settings are already restored as
part of smu_restore_dpm_user_profile(). It's unnecessary to call the
same restore as part of smu_resume().

Revert the following commits to drop that extra restore:
commit ed4efe426a49 ("drm/amd: Restore cached power limit during resume")
commit 796ff8a7e01b ("drm/amd: Restore cached manual clock settings during resume")
commit f9b80514a722 ("drm/amd: Only restore cached manual clock settings in restore if OD enabled")

Suggested-by: Lijo Lazar <Lijo.Lazar@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c

index 3f14fdaed332fcca3e4703415658865dfba51db7..4317da6f7c389d4eea4b8e59516e801aec5ecaf0 100644 (file)
@@ -2239,7 +2239,6 @@ static int smu_resume(struct amdgpu_ip_block *ip_block)
        int ret;
        struct amdgpu_device *adev = ip_block->adev;
        struct smu_context *smu = adev->powerplay.pp_handle;
-       struct smu_dpm_context *smu_dpm_ctx = &(smu->smu_dpm);
 
        if (amdgpu_sriov_multi_vf_mode(adev))
                return 0;
@@ -2271,18 +2270,6 @@ static int smu_resume(struct amdgpu_ip_block *ip_block)
 
        adev->pm.dpm_enabled = true;
 
-       if (smu->current_power_limit) {
-               ret = smu_set_power_limit(smu, SMU_DEFAULT_PPT_LIMIT, smu->current_power_limit);
-               if (ret && ret != -EOPNOTSUPP)
-                       return ret;
-       }
-
-       if (smu_dpm_ctx->dpm_level == AMD_DPM_FORCED_LEVEL_MANUAL && smu->od_enabled) {
-               ret = smu_od_edit_dpm_table(smu, PP_OD_COMMIT_DPM_TABLE, NULL, 0);
-               if (ret)
-                       return ret;
-       }
-
        dev_info(adev->dev, "SMU is resumed successfully!\n");
 
        return 0;