summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHawking Zhang <Hawking.Zhang@amd.com>2026-01-17 15:33:06 +0300
committerAlex Deucher <alexander.deucher@amd.com>2026-03-17 17:32:38 +0300
commitbe3f235bb61b71fc5635c4459fee372252acd772 (patch)
tree48eef1ee8d5b6b99ad50ab362b31bb93a169ba1b
parent20fe5d020fe5a68d640828af7a42a1ee1a030db6 (diff)
downloadlinux-be3f235bb61b71fc5635c4459fee372252acd772.tar.xz
drm/amdgpu: Query xgmi info from mmhub if available
Query xgmi info from mmhub if available Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com> Reviewed-by: Le Ma <le.ma@amd.com> Reviewed-by: Feifei Xu <Feifei.Xu@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_device.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 711b4502653a..75df85aecac5 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -3878,9 +3878,21 @@ int amdgpu_device_init(struct amdgpu_device *adev,
amdgpu_gmc_noretry_set(adev);
/* Need to get xgmi info early to decide the reset behavior*/
if (adev->gmc.xgmi.supported) {
- r = adev->gfxhub.funcs->get_xgmi_info(adev);
- if (r)
- return r;
+ if (adev->gfxhub.funcs &&
+ adev->gfxhub.funcs->get_xgmi_info) {
+ r = adev->gfxhub.funcs->get_xgmi_info(adev);
+ if (r)
+ return r;
+ }
+ }
+
+ if (adev->gmc.xgmi.connected_to_cpu) {
+ if (adev->mmhub.funcs &&
+ adev->mmhub.funcs->get_xgmi_info) {
+ r = adev->mmhub.funcs->get_xgmi_info(adev);
+ if (r)
+ return r;
+ }
}
/* enable PCIE atomic ops */