]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
drm/amdgpu: Switch to interruptable wait to recover from ring hang.
authorAndrey Grodzovsky <andrey.grodzovsky@amd.com>
Mon, 30 Apr 2018 14:04:42 +0000 (10:04 -0400)
committerStefan Bader <stefan.bader@canonical.com>
Mon, 1 Oct 2018 12:58:09 +0000 (14:58 +0200)
BugLink: http://bugs.launchpad.net/bugs/1794889
[ Upstream commit e6a5b9f9aee145c2f2c24431d84edfbb0d49eea5 ]

v2:
Use dma_fence_wait instead of dma_fence_wait_timeout(...,MAX_SCHEDULE_TIMEOUT)
Avoid printing error message for ERESTARTSYS

Originally-by: David Panariti <David.Panariti@amd.com>
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c

index c184468e2b2b31cc196c9494e94ce31538091ae4..180020d5bbb3a6685229d3d3a606f565133f0a47 100644 (file)
@@ -381,9 +381,11 @@ int amdgpu_ctx_wait_prev_fence(struct amdgpu_ctx *ctx, unsigned ring_id)
 
        if (other) {
                signed long r;
-               r = dma_fence_wait_timeout(other, false, MAX_SCHEDULE_TIMEOUT);
+               r = dma_fence_wait(other, true);
                if (r < 0) {
-                       DRM_ERROR("Error (%ld) waiting for fence!\n", r);
+                       if (r != -ERESTARTSYS)
+                               DRM_ERROR("Error (%ld) waiting for fence!\n", r);
+
                        return r;
                }
        }