drm/amdgpu: added PSP XGMI initialization for SRIOV VF during recover
authorZhigang Luo <zhigang.luo@amd.com>
Mon, 6 Dec 2021 19:52:00 +0000 (14:52 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 13 Dec 2021 21:32:34 +0000 (16:32 -0500)
For SRIOV VF, XGMI was not initialized in PSP during recover. This change
added PSP XGMI initialization for SRIOV VF during recover.

Signed-off-by: Zhigang Luo <zhigang.luo@amd.com>
Reviewed-by: Shaoyun Liu <shaoyun.liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c

index b48d68d30d801cfb275e4e7b5ffd30280fa485ae..103bcadbc8b869f877907e0645ea5008fd44314f 100644 (file)
@@ -2452,6 +2452,18 @@ skip_memalloc:
                return ret;
        }
 
+       if (amdgpu_sriov_vf(adev) && amdgpu_in_reset(adev)) {
+               if (adev->gmc.xgmi.num_physical_nodes > 1) {
+                       ret = psp_xgmi_initialize(psp, false, true);
+                       /* 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->ta_fw) {
                ret = psp_ras_initialize(psp);
                if (ret)