drm/v3d: Use the new shmem helpers to reduce driver boilerplate.
The new shmem helpers from Noralf and Rob abstract out a bunch of our BO creation and mapping code. v2: Use the new sgt getter, and flag pages as dirty before freeing. v3: Remove the mismatched put_pages. Signed-off-by: Eric Anholt <eric@anholt.net> Link: https://patchwork.freedesktop.org/patch/msgid/20190314163451.13431-1-eric@anholt.net Reviewed-by: Rob Herring <robh@kernel.org> (v2)
This commit is contained in:
@@ -201,7 +201,8 @@ v3d_attach_object_fences(struct v3d_bo **bos, int bo_count,
|
||||
|
||||
for (i = 0; i < bo_count; i++) {
|
||||
/* XXX: Use shared fences for read-only objects. */
|
||||
reservation_object_add_excl_fence(bos[i]->base.resv, fence);
|
||||
reservation_object_add_excl_fence(bos[i]->base.base.resv,
|
||||
fence);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -237,7 +238,8 @@ v3d_lock_bo_reservations(struct v3d_bo **bos,
|
||||
* before we commit the CL to the hardware.
|
||||
*/
|
||||
for (i = 0; i < bo_count; i++) {
|
||||
ret = reservation_object_reserve_shared(bos[i]->base.resv, 1);
|
||||
ret = reservation_object_reserve_shared(bos[i]->base.base.resv,
|
||||
1);
|
||||
if (ret) {
|
||||
v3d_unlock_bo_reservations(bos, bo_count,
|
||||
acquire_ctx);
|
||||
@@ -345,11 +347,11 @@ v3d_exec_cleanup(struct kref *ref)
|
||||
dma_fence_put(exec->render_done_fence);
|
||||
|
||||
for (i = 0; i < exec->bo_count; i++)
|
||||
drm_gem_object_put_unlocked(&exec->bo[i]->base);
|
||||
drm_gem_object_put_unlocked(&exec->bo[i]->base.base);
|
||||
kvfree(exec->bo);
|
||||
|
||||
list_for_each_entry_safe(bo, save, &exec->unref_list, unref_head) {
|
||||
drm_gem_object_put_unlocked(&bo->base);
|
||||
drm_gem_object_put_unlocked(&bo->base.base);
|
||||
}
|
||||
|
||||
pm_runtime_mark_last_busy(v3d->dev);
|
||||
@@ -376,7 +378,7 @@ v3d_tfu_job_cleanup(struct kref *ref)
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(job->bo); i++) {
|
||||
if (job->bo[i])
|
||||
drm_gem_object_put_unlocked(&job->bo[i]->base);
|
||||
drm_gem_object_put_unlocked(&job->bo[i]->base.base);
|
||||
}
|
||||
|
||||
pm_runtime_mark_last_busy(v3d->dev);
|
||||
|
Reference in New Issue
Block a user