drm/lima: Use drm_sched_job_add_syncobj_dependency()
authorMaíra Canal <mcanal@igalia.com>
Fri, 24 Feb 2023 21:41:32 +0000 (18:41 -0300)
committerMaíra Canal <mairacanal@riseup.net>
Tue, 21 Mar 2023 21:14:19 +0000 (18:14 -0300)
As lima_gem_add_deps() performs the same steps as
drm_sched_job_add_syncobj_dependency(), replace the open-coded
implementation in Lima in order to simply use the DRM function.

Signed-off-by: Maíra Canal <mcanal@igalia.com>
Reviewed-by: Qiang Yu <yuq825@gmail.com>
Signed-off-by: Maíra Canal <mairacanal@riseup.net>
Link: https://patchwork.freedesktop.org/patch/msgid/20230224214133.411966-1-mcanal@igalia.com
drivers/gpu/drm/lima/lima_gem.c

index 0f1ca0b..10252dc 100644 (file)
@@ -277,21 +277,13 @@ static int lima_gem_add_deps(struct drm_file *file, struct lima_submit *submit)
        int i, err;
 
        for (i = 0; i < ARRAY_SIZE(submit->in_sync); i++) {
-               struct dma_fence *fence = NULL;
-
                if (!submit->in_sync[i])
                        continue;
 
-               err = drm_syncobj_find_fence(file, submit->in_sync[i],
-                                            0, 0, &fence);
+               err = drm_sched_job_add_syncobj_dependency(&submit->task->base, file,
+                                                          submit->in_sync[i], 0);
                if (err)
                        return err;
-
-               err = drm_sched_job_add_dependency(&submit->task->base, fence);
-               if (err) {
-                       dma_fence_put(fence);
-                       return err;
-               }
        }
 
        return 0;