Commit 93ea9b9f authored by Huang Rui's avatar Huang Rui Committed by Alex Deucher

drm/amdgpu: add hw_start and non-psp firmware loading into resume

Rework in order to properly support suspend.
Signed-off-by: default avatarHuang Rui <ray.huang@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent be70bbda
...@@ -435,18 +435,30 @@ static int psp_resume(void *handle) ...@@ -435,18 +435,30 @@ static int psp_resume(void *handle)
{ {
int ret; int ret;
struct amdgpu_device *adev = (struct amdgpu_device *)handle; struct amdgpu_device *adev = (struct amdgpu_device *)handle;
struct psp_context *psp = &adev->psp;
if (adev->firmware.load_type != AMDGPU_FW_LOAD_PSP) if (adev->firmware.load_type != AMDGPU_FW_LOAD_PSP)
return 0; return 0;
DRM_INFO("PSP is resuming...\n");
mutex_lock(&adev->firmware.mutex); mutex_lock(&adev->firmware.mutex);
ret = psp_load_fw(adev); ret = psp_hw_start(psp);
if (ret) if (ret)
DRM_ERROR("PSP resume failed\n"); goto failed;
ret = psp_np_fw_load(psp);
if (ret)
goto failed;
mutex_unlock(&adev->firmware.mutex); mutex_unlock(&adev->firmware.mutex);
return 0;
failed:
DRM_ERROR("PSP resume failed\n");
mutex_unlock(&adev->firmware.mutex);
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