summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 */