this fix the regression caused by asd/ta loading sequence
adjustment recently. asd/ta loading was move out from hw_start
and should also be applied to psp_resume. otherwise those fw
loading will be ignored in resume phase.

Change-Id: I678f82b5dd552d70435bfdbd010c4ed8536314c9
Signed-off-by: Hawking Zhang <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 34 +++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
index ceea8314d88d..03c4a223c05f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
@@ -1702,6 +1702,40 @@ static int psp_resume(void *handle)
        if (ret)
                goto failed;
 
+       ret = psp_asd_load(psp);
+       if (ret) {
+               DRM_ERROR("PSP load asd failed!\n");
+               mutex_unlock(&adev->firmware.mutex);
+               return ret;
+       }
+
+       if (adev->gmc.xgmi.num_physical_nodes > 1) {
+               ret = psp_xgmi_initialize(psp);
+               /* Warning the XGMI seesion initialize failure
+                * Instead of stop driver initialization
+                */
+               if (ret)
+                       dev_err(psp->adev->dev,
+                               "XGMI: Failed to initialize XGMI session\n");
+       }
+
+       if (psp->adev->psp.ta_fw) {
+               ret = psp_ras_initialize(psp);
+               if (ret)
+                       dev_err(psp->adev->dev,
+                                       "RAS: Failed to initialize RAS\n");
+
+               ret = psp_hdcp_initialize(psp);
+               if (ret)
+                       dev_err(psp->adev->dev,
+                               "HDCP: Failed to initialize HDCP\n");
+
+               ret = psp_dtm_initialize(psp);
+               if (ret)
+                       dev_err(psp->adev->dev,
+                               "DTM: Failed to initialize DTM\n");
+       }
+
        mutex_unlock(&adev->firmware.mutex);
 
        return 0;
-- 
2.17.1

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

Reply via email to