diff options
author | 2024-02-22 14:54:50 +0530 | |
---|---|---|
committer | 2024-02-26 11:14:31 -0500 | |
commit | e1f6746f339c9514c0564bab02c3f8847f4aa44b (patch) | |
tree | 4cff9b7b5b0f8045ee0fd439a1032fcaa2770c8c /drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | |
parent | drm/amdgpu: Add fatal error detected flag (diff) | |
download | linux-e1f6746f339c9514c0564bab02c3f8847f4aa44b.tar.gz linux-e1f6746f339c9514c0564bab02c3f8847f4aa44b.tar.bz2 linux-e1f6746f339c9514c0564bab02c3f8847f4aa44b.zip |
drm/amdkfd: Skip packet submission on fatal error
If fatal error is detected, packet submission won't go through. Return
error in such cases. Also, avoid waiting for fence when fatal error is
detected.
Signed-off-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Asad Kamal <asad.kamal@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.c | 4 |
1 files changed, 4 insertions, 0 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 c0e71543389a..f4d395e38683 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c @@ -1903,6 +1903,10 @@ int amdkfd_fence_wait_timeout(struct device_queue_manager *dqm, uint64_t *fence_addr = dqm->fence_addr; while (*fence_addr != fence_value) { + /* Fatal err detected, this response won't come */ + if (amdgpu_amdkfd_is_fed(dqm->dev->adev)) + return -EIO; + if (time_after(jiffies, end_jiffies)) { dev_err(dev, "qcm fence wait loop timeout expired\n"); /* In HWS case, this is used to halt the driver thread |