Commit 613e51df authored by Evan Quan's avatar Evan Quan Committed by Alex Deucher

drm/amd/powerplay: sort those operations performed in hw setup

Those common operations(for all ASICs) are placed first and followed
by ASIC specific ones. While the display related are placed at the last.
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 26ef3251
...@@ -1134,6 +1134,21 @@ static int smu_smc_table_hw_init(struct smu_context *smu, ...@@ -1134,6 +1134,21 @@ static int smu_smc_table_hw_init(struct smu_context *smu,
if (ret) if (ret)
return ret; return ret;
/*
* Set PMSTATUSLOG table bo address with SetToolsDramAddr MSG for tools.
*/
ret = smu_set_tool_table_location(smu);
if (ret)
return ret;
/*
* Use msg SetSystemVirtualDramAddr and DramLogSetDramAddr can notify
* pool location.
*/
ret = smu_notify_memory_pool_location(smu);
if (ret)
return ret;
/* smu_dump_pptable(smu); */ /* smu_dump_pptable(smu); */
/* /*
* Copy pptable bo in the vram to smc with SMU MSGs such as * Copy pptable bo in the vram to smc with SMU MSGs such as
...@@ -1147,6 +1162,7 @@ static int smu_smc_table_hw_init(struct smu_context *smu, ...@@ -1147,6 +1162,7 @@ static int smu_smc_table_hw_init(struct smu_context *smu,
ret = smu_run_btc(smu); ret = smu_run_btc(smu);
if (ret) if (ret)
return ret; return ret;
ret = smu_feature_set_allowed_mask(smu); ret = smu_feature_set_allowed_mask(smu);
if (ret) if (ret)
return ret; return ret;
...@@ -1155,6 +1171,21 @@ static int smu_smc_table_hw_init(struct smu_context *smu, ...@@ -1155,6 +1171,21 @@ static int smu_smc_table_hw_init(struct smu_context *smu,
if (ret) if (ret)
return ret; return ret;
if (!smu_is_dpm_running(smu))
pr_info("dpm has been disabled\n");
ret = smu_override_pcie_parameters(smu);
if (ret)
return ret;
ret = smu_enable_thermal_alert(smu);
if (ret)
return ret;
ret = smu_i2c_eeprom_init(smu, &adev->pm.smu_i2c);
if (ret)
return ret;
ret = smu_disable_umc_cdr_12gbps_workaround(smu); ret = smu_disable_umc_cdr_12gbps_workaround(smu);
if (ret) { if (ret) {
pr_err("Workaround failed to disable UMC CDR feature on 12Gbps SKU!\n"); pr_err("Workaround failed to disable UMC CDR feature on 12Gbps SKU!\n");
...@@ -1185,36 +1216,6 @@ static int smu_smc_table_hw_init(struct smu_context *smu, ...@@ -1185,36 +1216,6 @@ static int smu_smc_table_hw_init(struct smu_context *smu,
if (ret) if (ret)
return ret; return ret;
ret = smu_override_pcie_parameters(smu);
if (ret)
return ret;
/*
* Set PMSTATUSLOG table bo address with SetToolsDramAddr MSG for tools.
*/
ret = smu_set_tool_table_location(smu);
if (ret)
return ret;
if (!smu_is_dpm_running(smu))
pr_info("dpm has been disabled\n");
/*
* Use msg SetSystemVirtualDramAddr and DramLogSetDramAddr can notify
* pool location.
*/
ret = smu_notify_memory_pool_location(smu);
if (ret)
return ret;
ret = smu_enable_thermal_alert(smu);
if (ret)
return ret;
ret = smu_i2c_eeprom_init(smu, &adev->pm.smu_i2c);
if (ret)
return ret;
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment