On Thu, Feb 16, 2023 at 2:59 AM Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> wrote: > > From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > > Use the previously added dma-fence tracking of explicit waiters. > > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > --- > drivers/gpu/drm/drm_syncobj.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/drm_syncobj.c b/drivers/gpu/drm/drm_syncobj.c > index 0c2be8360525..776b90774a64 100644 > --- a/drivers/gpu/drm/drm_syncobj.c > +++ b/drivers/gpu/drm/drm_syncobj.c > @@ -1065,9 +1065,9 @@ static signed long drm_syncobj_array_wait_timeout(struct drm_syncobj **syncobjs, > if ((flags & DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE) || > dma_fence_is_signaled(fence) || > (!entries[i].fence_cb.func && > - dma_fence_add_callback(fence, > - &entries[i].fence_cb, > - syncobj_wait_fence_func))) { > + dma_fence_add_wait_callback(fence, > + &entries[i].fence_cb, > + syncobj_wait_fence_func))) { I think this isn't really what you want if count > 1, because you wouldn't be notifying the fence signaler of fence n+1 until the wait on fence n completed BR, -R > /* The fence has been signaled */ > if (flags & DRM_SYNCOBJ_WAIT_FLAGS_WAIT_ALL) { > signaled_count++; > -- > 2.34.1 >