[PATCH v2 1/7] drm/panfrost: Pass a job to panfrost_{acquire,attach_object_fences}()
Steven Price
steven.price at arm.com
Fri Jul 2 09:42:27 UTC 2021
On 01/07/2021 10:12, Boris Brezillon wrote:
> So we don't have to change the prototype if we extend the function.
>
> Signed-off-by: Boris Brezillon <boris.brezillon at collabora.com>
Subject NIT:
> drm/panfrost: Pass a job to panfrost_{acquire,attach_object_fences}()
Should be panfrost_{acquire,attach}_object_fences()
Otherwise:
Reviewed-by: Steven Price <steven.price at arm.com>
> ---
> drivers/gpu/drm/panfrost/panfrost_job.c | 22 ++++++++--------------
> 1 file changed, 8 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/gpu/drm/panfrost/panfrost_job.c b/drivers/gpu/drm/panfrost/panfrost_job.c
> index 71a72fb50e6b..fdc1bd7ecf12 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_job.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_job.c
> @@ -240,15 +240,13 @@ static void panfrost_job_hw_submit(struct panfrost_job *job, int js)
> spin_unlock(&pfdev->js->job_lock);
> }
>
> -static int panfrost_acquire_object_fences(struct drm_gem_object **bos,
> - int bo_count,
> - struct xarray *deps)
> +static int panfrost_acquire_object_fences(struct panfrost_job *job)
> {
> int i, ret;
>
> - for (i = 0; i < bo_count; i++) {
> + for (i = 0; i < job->bo_count; i++) {
> /* panfrost always uses write mode in its current uapi */
> - ret = drm_gem_fence_array_add_implicit(deps, bos[i], true);
> + ret = drm_gem_fence_array_add_implicit(&job->deps, job->bos[i], true);
> if (ret)
> return ret;
> }
> @@ -256,14 +254,12 @@ static int panfrost_acquire_object_fences(struct drm_gem_object **bos,
> return 0;
> }
>
> -static void panfrost_attach_object_fences(struct drm_gem_object **bos,
> - int bo_count,
> - struct dma_fence *fence)
> +static void panfrost_attach_object_fences(struct panfrost_job *job)
> {
> int i;
>
> - for (i = 0; i < bo_count; i++)
> - dma_resv_add_excl_fence(bos[i]->resv, fence);
> + for (i = 0; i < job->bo_count; i++)
> + dma_resv_add_excl_fence(job->bos[i]->resv, job->render_done_fence);
> }
>
> int panfrost_job_push(struct panfrost_job *job)
> @@ -290,8 +286,7 @@ int panfrost_job_push(struct panfrost_job *job)
>
> job->render_done_fence = dma_fence_get(&job->base.s_fence->finished);
>
> - ret = panfrost_acquire_object_fences(job->bos, job->bo_count,
> - &job->deps);
> + ret = panfrost_acquire_object_fences(job);
> if (ret) {
> mutex_unlock(&pfdev->sched_lock);
> goto unlock;
> @@ -303,8 +298,7 @@ int panfrost_job_push(struct panfrost_job *job)
>
> mutex_unlock(&pfdev->sched_lock);
>
> - panfrost_attach_object_fences(job->bos, job->bo_count,
> - job->render_done_fence);
> + panfrost_attach_object_fences(job);
>
> unlock:
> drm_gem_unlock_reservations(job->bos, job->bo_count, &acquire_ctx);
>
More information about the dri-devel
mailing list