drm/amd/powerplay: add resume sequence placeholder for smu ip block

This patch adds resume sequence placeholder for smu ip block.

Signed-off-by: Huang Rui <ray.huang@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Huang Rui 2018-12-05 12:01:09 +08:00 committed by Alex Deucher
parent 38f8a2e614
commit fad3ecf235

View File

@ -311,13 +311,50 @@ static int smu_resume(void *handle)
if (adev->asic_type < CHIP_VEGA20) if (adev->asic_type < CHIP_VEGA20)
return -EINVAL; return -EINVAL;
pr_info("SMU is resuming...\n");
if (adev->firmware.load_type != AMDGPU_FW_LOAD_PSP) {
ret = smu_load_microcode(smu);
if (ret)
return ret;
}
ret = smu_check_fw_status(smu);
if (ret) {
pr_err("SMC firmware status is not correct\n");
return ret;
}
mutex_lock(&smu->mutex); mutex_lock(&smu->mutex);
/* TODO */ ret = smu_set_tool_table_location(smu);
if (ret)
goto failed;
ret = smu_write_pptable(smu);
if (ret)
goto failed;
ret = smu_write_watermarks_table(smu);
if (ret)
goto failed;
ret = smu_set_last_dcef_min_deep_sleep_clk(smu);
if (ret)
goto failed;
ret = smu_system_features_control(smu, true);
if (ret)
goto failed;
mutex_unlock(&smu->mutex); mutex_unlock(&smu->mutex);
pr_info("SMU is resumed successfully!\n");
return 0; return 0;
failed:
mutex_unlock(&smu->mutex);
return ret;
} }
static int smu_set_clockgating_state(void *handle, static int smu_set_clockgating_state(void *handle,