mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-04 08:08:54 +00:00
drm/v3d: Use drm_sched_job_add_syncobj_dependency()
As v3d_job_add_deps() performs the same steps as drm_sched_job_add_syncobj_dependency(), replace the open-coded implementation in v3d in order to simply use the DRM function. Signed-off-by: Maíra Canal <mcanal@igalia.com> Reviewed-by: Melissa Wen <mwen@igalia.com> Signed-off-by: Maíra Canal <mairacanal@riseup.net> Link: https://patchwork.freedesktop.org/patch/msgid/20230209124447.467867-6-mcanal@igalia.com
This commit is contained in:
parent
4636c4a5ea
commit
25c0e4062d
1 changed files with 8 additions and 18 deletions
|
@ -396,20 +396,6 @@ v3d_wait_bo_ioctl(struct drm_device *dev, void *data,
|
|||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
v3d_job_add_deps(struct drm_file *file_priv, struct v3d_job *job,
|
||||
u32 in_sync, u32 point)
|
||||
{
|
||||
struct dma_fence *in_fence = NULL;
|
||||
int ret;
|
||||
|
||||
ret = drm_syncobj_find_fence(file_priv, in_sync, point, 0, &in_fence);
|
||||
if (ret == -EINVAL)
|
||||
return ret;
|
||||
|
||||
return drm_sched_job_add_dependency(&job->base, in_fence);
|
||||
}
|
||||
|
||||
static int
|
||||
v3d_job_init(struct v3d_dev *v3d, struct drm_file *file_priv,
|
||||
void **container, size_t size, void (*free)(struct kref *ref),
|
||||
|
@ -447,14 +433,18 @@ v3d_job_init(struct v3d_dev *v3d, struct drm_file *file_priv,
|
|||
DRM_DEBUG("Failed to copy wait dep handle.\n");
|
||||
goto fail_deps;
|
||||
}
|
||||
ret = v3d_job_add_deps(file_priv, job, in.handle, 0);
|
||||
if (ret)
|
||||
ret = drm_sched_job_add_syncobj_dependency(&job->base, file_priv, in.handle, 0);
|
||||
|
||||
// TODO: Investigate why this was filtered out for the IOCTL.
|
||||
if (ret && ret != -ENOENT)
|
||||
goto fail_deps;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
ret = v3d_job_add_deps(file_priv, job, in_sync, 0);
|
||||
if (ret)
|
||||
ret = drm_sched_job_add_syncobj_dependency(&job->base, file_priv, in_sync, 0);
|
||||
|
||||
// TODO: Investigate why this was filtered out for the IOCTL.
|
||||
if (ret && ret != -ENOENT)
|
||||
goto fail_deps;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue