Commit 70475931 authored by Evan Quan's avatar Evan Quan Committed by Alex Deucher
Browse files

drm/amd/powerplay: revise the calling flow on OD table update



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

Signed-off-by: default avatarEvan Quan <evan.quan@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 21326724
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -1914,8 +1914,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);

+0 −7
Original line number Diff line number Diff line
@@ -2109,13 +2109,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)) {