Initialize xgmi related static information during discovery.

Signed-off-by: Lijo Lazar <lijo.la...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 20 +++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
index eca431e52038..d4eade2bd4d3 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c
@@ -2502,6 +2502,19 @@ static int amdgpu_discovery_set_isp_ip_blocks(struct 
amdgpu_device *adev)
        return 0;
 }
 
+static void amdgpu_discovery_set_xgmi_info(struct amdgpu_device *adev)
+{
+       if (amdgpu_ip_version(adev, XGMI_HWIP, 0) == IP_VERSION(4, 8, 0))
+               adev->gmc.xgmi.supported = true;
+
+       if (amdgpu_ip_version(adev, GC_HWIP, 0) == IP_VERSION(9, 4, 3) ||
+           amdgpu_ip_version(adev, GC_HWIP, 0) == IP_VERSION(9, 4, 4))
+               adev->ip_versions[XGMI_HWIP][0] = IP_VERSION(6, 4, 0);
+
+       if (amdgpu_ip_version(adev, XGMI_HWIP, 0))
+               amdgpu_xgmi_init_info(adev);
+}
+
 int amdgpu_discovery_set_ip_blocks(struct amdgpu_device *adev)
 {
        int r;
@@ -2769,12 +2782,7 @@ int amdgpu_discovery_set_ip_blocks(struct amdgpu_device 
*adev)
                break;
        }
 
-       if (amdgpu_ip_version(adev, XGMI_HWIP, 0) == IP_VERSION(4, 8, 0))
-               adev->gmc.xgmi.supported = true;
-
-       if (amdgpu_ip_version(adev, GC_HWIP, 0) == IP_VERSION(9, 4, 3) ||
-           amdgpu_ip_version(adev, GC_HWIP, 0) == IP_VERSION(9, 4, 4))
-               adev->ip_versions[XGMI_HWIP][0] = IP_VERSION(6, 4, 0);
+       amdgpu_discovery_set_xgmi_info(adev);
 
        /* set NBIO version */
        switch (amdgpu_ip_version(adev, NBIO_HWIP, 0)) {
-- 
2.25.1

Reply via email to