From: Will Aitken <[email protected]>

The amd-smi tool relies on extended peer link information to report xgmi
link metrics. The necessary xgmi ta command, GET_EXTEND_PEER_LINKS, has
been enabled in the host driver and this change is necessary for the
guest to make use of it. To handle the case where the host driver does
not have the latest xgmi ta, the guest driver checks for guest support
through a pf2vf feature flag before invoking psp.

Signed-off-by: Will Aitken <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
index 82500ade240d..b69e376372d4 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
@@ -1649,8 +1649,8 @@ int psp_xgmi_get_topology_info(struct psp_context *psp,
                        amdgpu_ip_version(psp->adev, MP0_HWIP, 0) ==
                                IP_VERSION(13, 0, 14) ||
                        amdgpu_sriov_vf(psp->adev);
-               bool ta_port_num_support = amdgpu_sriov_vf(psp->adev) ? 0 :
-                               psp->xgmi_context.xgmi_ta_caps & 
EXTEND_PEER_LINK_INFO_CMD_FLAG;
+               bool ta_port_num_support = psp->xgmi_context.xgmi_ta_caps & 
EXTEND_PEER_LINK_INFO_CMD_FLAG ||
+                       amdgpu_sriov_xgmi_ta_ext_peer_link_en(psp->adev);
 
                /* popluate the shared output buffer rather than the cmd input 
buffer
                 * with node_ids as the input for GET_PEER_LINKS command 
execution.
-- 
2.43.0

Reply via email to