Initialize xgmi related static information during discovery. Signed-off-by: Lijo Lazar <lijo.lazar@xxxxxxx> --- 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