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@xxxxxxxxxxxxx> 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@xxxxxxx> > --- > 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); >