[Intel-gfx] [PATCH 1/4] drm/etnaviv: Use dma_resv locking wrappers
Daniel Vetter
daniel at ffwll.ch
Fri Dec 13 20:08:26 UTC 2019
On Mon, Nov 25, 2019 at 10:43:53AM +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>
> Cc: Lucas Stach <l.stach at pengutronix.de>
> Cc: Russell King <linux+etnaviv at armlinux.org.uk>
> Cc: Christian Gmeiner <christian.gmeiner at gmail.com>
> Cc: etnaviv at lists.freedesktop.org
Ping for some review/acks.
Thanks, Daniel
> ---
> drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c b/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c
> index aa3e4c3b063a..947b21868e72 100644
> --- a/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c
> +++ b/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c
> @@ -113,7 +113,7 @@ static void submit_unlock_object(struct etnaviv_gem_submit *submit, int i)
> if (submit->bos[i].flags & BO_LOCKED) {
> struct drm_gem_object *obj = &submit->bos[i].obj->base;
>
> - ww_mutex_unlock(&obj->resv->lock);
> + dma_resv_unlock(obj->resv);
> submit->bos[i].flags &= ~BO_LOCKED;
> }
> }
> @@ -133,8 +133,7 @@ static int submit_lock_objects(struct etnaviv_gem_submit *submit,
> contended = i;
>
> if (!(submit->bos[i].flags & BO_LOCKED)) {
> - ret = ww_mutex_lock_interruptible(&obj->resv->lock,
> - ticket);
> + ret = dma_resv_lock(obj->resv, ticket);
> if (ret == -EALREADY)
> DRM_ERROR("BO at index %u already on submit list\n",
> i);
> @@ -161,8 +160,7 @@ static int submit_lock_objects(struct etnaviv_gem_submit *submit,
> obj = &submit->bos[contended].obj->base;
>
> /* we lost out in a seqno race, lock and retry.. */
> - ret = ww_mutex_lock_slow_interruptible(&obj->resv->lock,
> - ticket);
> + ret = dma_resv_lock_slow_interruptible(obj->resv, ticket);
> if (!ret) {
> submit->bos[contended].flags |= BO_LOCKED;
> slow_locked = contended;
> --
> 2.24.0
>
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the Intel-gfx
mailing list