diff options
author | 2021-12-06 14:52:00 -0500 | |
---|---|---|
committer | 2021-12-13 16:32:34 -0500 | |
commit | dd26e018aaa408faaf16168cbc7e83c2b159ae63 (patch) | |
tree | 7acb990bf96af5b1f3ee7218fe96c0f82668ad50 /drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | |
parent | drm/amdgpu: skip reset other device in the same hive if it's SRIOV VF (diff) | |
download | linux-dev-dd26e018aaa408faaf16168cbc7e83c2b159ae63.tar.xz linux-dev-dd26e018aaa408faaf16168cbc7e83c2b159ae63.zip |
drm/amdgpu: added PSP XGMI initialization for SRIOV VF during recover
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>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c index b48d68d30d80..103bcadbc8b8 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c @@ -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) |