aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
diff options
context:
space:
mode:
authorshaoyunl <shaoyun.liu@amd.com>2021-11-03 10:49:47 -0400
committerAlex Deucher <alexander.deucher@amd.com>2021-11-05 14:12:38 -0400
commitb8c20c74ab8c765b29fb253f6da4b0e59d9bdf3d (patch)
tree91d2a22ac58bc0b703f615a377b2ec17530efbf9 /drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
parentdrm/amdgpu: correctly toggle gfx on/off around RLC_SPM_* register access (diff)
downloadlinux-dev-b8c20c74ab8c765b29fb253f6da4b0e59d9bdf3d.tar.xz
linux-dev-b8c20c74ab8c765b29fb253f6da4b0e59d9bdf3d.zip
drm/amd/amdkfd: Don't sent command to HWS on kfd reset
When kfd need to be reset, sent command to HWS might cause hang and get unnecessary timeout. This change try not to touch HW in pre_reset and keep queues to be in the evicted state when the reset is done, so they are not put back on the runlist. These queues will be destroied on process termination. Signed-off-by: shaoyunl <shaoyun.liu@amd.com> Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c')
-rw-r--r--drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
index 533b27b35fc9..003ba6a373ff 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
@@ -1430,7 +1430,7 @@ static int unmap_queues_cpsch(struct device_queue_manager *dqm,
if (!dqm->sched_running)
return 0;
- if (dqm->is_hws_hang)
+ if (dqm->is_hws_hang || dqm->is_resetting)
return -EIO;
if (!dqm->active_runlist)
return retval;