late init work will do IB tests, there is a race between late_init_work
and interrupt enablement. So call resume helper in advance. Otherwice hit
rence timeout.

Signed-off-by: xinhui pan <xinhui....@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 173af7ebb3f6..23612718d84b 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -3545,16 +3545,19 @@ static int amdgpu_do_asic_reset(struct amdgpu_hive_info 
*hive,
                                if (vram_lost)
                                        
amdgpu_device_fill_reset_magic(tmp_adev);
 
+                               /* Update PSP FW topology after reset */
+                               if (hive && 
tmp_adev->gmc.xgmi.num_physical_nodes > 1)
+                                       r = amdgpu_xgmi_update_topology(hive, 
tmp_adev);
+
+                               /* late_init_work do ib tests, so enable 
interrupt. */
+                               amdgpu_irq_gpu_reset_resume_helper(tmp_adev);
+
                                r = amdgpu_device_ip_late_init(tmp_adev);
                                if (r)
                                        goto out;
 
                                /* must succeed. */
                                amdgpu_ras_resume(tmp_adev);
-
-                               /* Update PSP FW topology after reset */
-                               if (hive && 
tmp_adev->gmc.xgmi.num_physical_nodes > 1)
-                                       r = amdgpu_xgmi_update_topology(hive, 
tmp_adev);
                        }
                }
 
-- 
2.17.1

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to