[PATCH 1/2] drm/amdkfd: fix boot failure when iommu is disabled in Picasso.

Zhu, James James.Zhu at amd.com
Tue Oct 12 14:39:39 UTC 2021


[AMD Official Use Only]



________________________________
From: Zhang, Yifan <Yifan1.Zhang at amd.com>
Sent: Monday, October 11, 2021 8:57 AM
To: amd-gfx at lists.freedesktop.org <amd-gfx at lists.freedesktop.org>
Cc: Kuehling, Felix <Felix.Kuehling at amd.com>; Zhu, James <James.Zhu at amd.com>; youling257 at gmail.com <youling257 at gmail.com>; Zhang, Yifan <Yifan1.Zhang at amd.com>
Subject: [PATCH 1/2] drm/amdkfd: fix boot failure when iommu is disabled in Picasso.

When IOMMU disabled in sbios and kfd in iommuv2 path, iommuv2
init will fail. But this failure should not block amdgpu driver init.

Reported-by: youling <youling257 at gmail.com>
Tested-by: youling <youling257 at gmail.com>
Signed-off-by: Yifan Zhang <yifan1.zhang at amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 4 ----
 drivers/gpu/drm/amd/amdkfd/kfd_device.c    | 3 +++
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index af9bdf16eefd..9dfcef2015c8 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -2432,10 +2432,6 @@ static int amdgpu_device_ip_init(struct amdgpu_device *adev)
         if (!adev->gmc.xgmi.pending_reset)
                 amdgpu_amdkfd_device_init(adev);

-       r = amdgpu_amdkfd_resume_iommu(adev);
-       if (r)
-               goto init_failed;
-
         amdgpu_fru_get_product_info(adev);

 init_failed:
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device.c b/drivers/gpu/drm/amd/amdkfd/kfd_device.c
index 4a416231b24c..bb652ee35c25 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_device.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device.c
@@ -920,6 +920,9 @@ bool kgd2kfd_device_init(struct kfd_dev *kfd,
                 goto device_iommu_error;
         }

+       if(kgd2kfd_resume_iommu(kfd))
+               goto device_iommu_error;
+
         kfd_cwsr_init(kfd);

         svm_migrate_init((struct amdgpu_device *)kfd->kgd);
[JZ] Move the above change to here, the device init sequence will be closer to initial design.
--
2.25.1

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20211012/e5a1ee95/attachment-0001.htm>


More information about the amd-gfx mailing list