<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<p style="font-family:Arial;font-size:10pt;color:#317100;margin:15pt;" align="Left">
[AMD Public Use]<br>
</p>
<br>
<div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Typo in the subject: <span class="ITWTqi_23IoOPmK3O6ErT">devie</span> > device</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Alex<br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Grodzovsky, Andrey <Andrey.Grodzovsky@amd.com><br>
<b>Sent:</b> Monday, May 10, 2021 12:36 PM<br>
<b>To:</b> dri-devel@lists.freedesktop.org <dri-devel@lists.freedesktop.org>; amd-gfx@lists.freedesktop.org <amd-gfx@lists.freedesktop.org>; linux-pci@vger.kernel.org <linux-pci@vger.kernel.org>; ckoenig.leichtzumerken@gmail.com <ckoenig.leichtzumerken@gmail.com>;
 daniel.vetter@ffwll.ch <daniel.vetter@ffwll.ch>; Wentland, Harry <Harry.Wentland@amd.com><br>
<b>Cc:</b> ppaalanen@gmail.com <ppaalanen@gmail.com>; Deucher, Alexander <Alexander.Deucher@amd.com>; gregkh@linuxfoundation.org <gregkh@linuxfoundation.org>; helgaas@kernel.org <helgaas@kernel.org>; Kuehling, Felix <Felix.Kuehling@amd.com>; Grodzovsky, Andrey
 <Andrey.Grodzovsky@amd.com><br>
<b>Subject:</b> [PATCH v6 04/16] drm/amdkfd: Split kfd suspend from devie exit</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Helps to expdite HW related stuff to amdgpu_pci_remove<br>
<br>
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com><br>
---<br>
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 2 +-<br>
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h | 2 +-<br>
 drivers/gpu/drm/amd/amdkfd/kfd_device.c    | 3 ++-<br>
 3 files changed, 4 insertions(+), 3 deletions(-)<br>
<br>
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c<br>
index 5f6696a3c778..2b06dee9a0ce 100644<br>
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c<br>
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c<br>
@@ -170,7 +170,7 @@ void amdgpu_amdkfd_device_init(struct amdgpu_device *adev)<br>
         }<br>
 }<br>
 <br>
-void amdgpu_amdkfd_device_fini(struct amdgpu_device *adev)<br>
+void amdgpu_amdkfd_device_fini_sw(struct amdgpu_device *adev)<br>
 {<br>
         if (adev->kfd.dev) {<br>
                 kgd2kfd_device_exit(adev->kfd.dev);<br>
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h<br>
index 14f68c028126..f8e10af99c28 100644<br>
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h<br>
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h<br>
@@ -127,7 +127,7 @@ void amdgpu_amdkfd_interrupt(struct amdgpu_device *adev,<br>
                         const void *ih_ring_entry);<br>
 void amdgpu_amdkfd_device_probe(struct amdgpu_device *adev);<br>
 void amdgpu_amdkfd_device_init(struct amdgpu_device *adev);<br>
-void amdgpu_amdkfd_device_fini(struct amdgpu_device *adev);<br>
+void amdgpu_amdkfd_device_fini_sw(struct amdgpu_device *adev);<br>
 int amdgpu_amdkfd_submit_ib(struct kgd_dev *kgd, enum kgd_engine_type engine,<br>
                                 uint32_t vmid, uint64_t gpu_addr,<br>
                                 uint32_t *ib_cmd, uint32_t ib_len);<br>
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device.c b/drivers/gpu/drm/amd/amdkfd/kfd_device.c<br>
index 357b9bf62a1c..ab6d2a43c9a3 100644<br>
--- a/drivers/gpu/drm/amd/amdkfd/kfd_device.c<br>
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device.c<br>
@@ -858,10 +858,11 @@ bool kgd2kfd_device_init(struct kfd_dev *kfd,<br>
         return kfd->init_complete;<br>
 }<br>
 <br>
+<br>
+<br>
 void kgd2kfd_device_exit(struct kfd_dev *kfd)<br>
 {<br>
         if (kfd->init_complete) {<br>
-               kgd2kfd_suspend(kfd, false);<br>
                 device_queue_manager_uninit(kfd->dqm);<br>
                 kfd_interrupt_exit(kfd);<br>
                 kfd_topology_remove_device(kfd);<br>
-- <br>
2.25.1<br>
<br>
</div>
</span></font></div>
</div>
</body>
</html>