This can eliminate the cross callings and maintain clear
code layer.

Change-Id: Ie1e12a365f9d337d9efca48cdb9a2e8d341b8364
Signed-off-by: Evan Quan <[email protected]>
---
 drivers/gpu/drm/amd/powerplay/amdgpu_smu.c | 8 +++++++-
 drivers/gpu/drm/amd/powerplay/navi10_ppt.c | 7 -------
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c 
b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
index f32a64c91dd3..ebf8928660b8 100644
--- a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
+++ b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
@@ -1900,8 +1900,14 @@ int smu_od_edit_dpm_table(struct smu_context *smu,
 
        mutex_lock(&smu->mutex);
 
-       if (smu->ppt_funcs->od_edit_dpm_table)
+       if (smu->ppt_funcs->od_edit_dpm_table) {
                ret = smu->ppt_funcs->od_edit_dpm_table(smu, type, input, size);
+               if (!ret && (type == PP_OD_COMMIT_DPM_TABLE))
+                       ret = smu_handle_task(smu,
+                                             smu->smu_dpm.dpm_level,
+                                             AMD_PP_TASK_READJUST_POWER_STATE,
+                                             false);
+       }
 
        mutex_unlock(&smu->mutex);
 
diff --git a/drivers/gpu/drm/amd/powerplay/navi10_ppt.c 
b/drivers/gpu/drm/amd/powerplay/navi10_ppt.c
index 32719ca93b46..9ed2377ababa 100644
--- a/drivers/gpu/drm/amd/powerplay/navi10_ppt.c
+++ b/drivers/gpu/drm/amd/powerplay/navi10_ppt.c
@@ -2108,13 +2108,6 @@ static int navi10_od_edit_dpm_table(struct smu_context 
*smu, enum PP_OD_DPM_TABL
                        dev_err(smu->adev->dev, "Failed to import overdrive 
table!\n");
                        return ret;
                }
-               // no lock needed because smu_od_edit_dpm_table has it
-               ret = smu_handle_task(smu, smu->smu_dpm.dpm_level,
-                       AMD_PP_TASK_READJUST_POWER_STATE,
-                       false);
-               if (ret) {
-                       return ret;
-               }
                break;
        case PP_OD_EDIT_VDDC_CURVE:
                if (!navi10_od_feature_is_supported(od_settings, 
SMU_11_0_ODCAP_GFXCLK_CURVE)) {
-- 
2.27.0

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to