[Intel-gfx] [PATCH 4/4] drm/vc4: Use dma_resv locking wrappers
Daniel Vetter
daniel at ffwll.ch
Fri Dec 13 20:10:13 UTC 2019
On Mon, Nov 25, 2019 at 10:43:56AM +0100, Daniel Vetter wrote:
> I'll add more fancy logic to them soon, so everyone really has to use
> them. Plus they already provide some nice additional debug
> infrastructure on top of direct ww_mutex usage for the fences tracked
> by dma_resv.
>
> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
Ping for some review/acks.
Thanks, Daniel
> ---
> drivers/gpu/drm/vc4/vc4_gem.c | 11 +++++------
> 1 file changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c
> index 7a06cb6e31c5..e1cfc3ccd05a 100644
> --- a/drivers/gpu/drm/vc4/vc4_gem.c
> +++ b/drivers/gpu/drm/vc4/vc4_gem.c
> @@ -568,7 +568,7 @@ vc4_unlock_bo_reservations(struct drm_device *dev,
> for (i = 0; i < exec->bo_count; i++) {
> struct drm_gem_object *bo = &exec->bo[i]->base;
>
> - ww_mutex_unlock(&bo->resv->lock);
> + dma_resv_unlock(bo->resv);
> }
>
> ww_acquire_fini(acquire_ctx);
> @@ -595,8 +595,7 @@ vc4_lock_bo_reservations(struct drm_device *dev,
> retry:
> if (contended_lock != -1) {
> bo = &exec->bo[contended_lock]->base;
> - ret = ww_mutex_lock_slow_interruptible(&bo->resv->lock,
> - acquire_ctx);
> + ret = dma_resv_lock_slow_interruptible(bo->resv, acquire_ctx);
> if (ret) {
> ww_acquire_done(acquire_ctx);
> return ret;
> @@ -609,19 +608,19 @@ vc4_lock_bo_reservations(struct drm_device *dev,
>
> bo = &exec->bo[i]->base;
>
> - ret = ww_mutex_lock_interruptible(&bo->resv->lock, acquire_ctx);
> + ret = dma_resv_lock_interruptible(bo->resv, acquire_ctx);
> if (ret) {
> int j;
>
> for (j = 0; j < i; j++) {
> bo = &exec->bo[j]->base;
> - ww_mutex_unlock(&bo->resv->lock);
> + dma_resv_unlock(bo->resv);
> }
>
> if (contended_lock != -1 && contended_lock >= i) {
> bo = &exec->bo[contended_lock]->base;
>
> - ww_mutex_unlock(&bo->resv->lock);
> + dma_resv_unlock(bo->resv);
> }
>
> if (ret == -EDEADLK) {
> --
> 2.24.0
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the Intel-gfx
mailing list