From ef980ac0c1cd65993ba0c1d20e1c09b45bfef99d Mon Sep 17 00:00:00 2001 From: Qiang Yu Date: Thu, 10 Sep 2020 10:08:41 +0800 Subject: [PATCH] radeonsi: fix max syncobj wait timeout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit syncobj wait takes int64_t timeout and won't clamp it in kernel code, so we have to pass in INT64_MAX instead of OS_TIMEOUT_INFINITE which is UINT64_MAX. Otherwise syncobj wait with OS_TIMEOUT_INFINITE case just return fail. Fixes: c638301b42b "radeonsi: fix syncobj wait timeout" Reviewed-by: Marek Olšák Signed-off-by: Qiang Yu Part-of: --- src/gallium/winsys/amdgpu/drm/amdgpu_cs.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c index c531d72ca45..6abadf3cd9e 100644 --- a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.c @@ -198,6 +198,9 @@ bool amdgpu_fence_wait(struct pipe_fence_handle *fence, uint64_t timeout, /* Handle syncobjs. */ if (amdgpu_fence_is_syncobj(afence)) { + if (abs_timeout == OS_TIMEOUT_INFINITE) + abs_timeout = INT64_MAX; + if (amdgpu_cs_syncobj_wait(afence->ws->dev, &afence->syncobj, 1, abs_timeout, 0, NULL)) return false;