On Fri, Dec 13, 2019 at 12:08 PM Daniel Vetter <daniel@xxxxxxxx> wrote: > > On Mon, Nov 25, 2019 at 10:43:55AM +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@xxxxxxxxx> > > Cc: Rob Clark <robdclark@xxxxxxxxx> > > Cc: Sean Paul <sean@xxxxxxxxxx> > > Cc: linux-arm-msm@xxxxxxxxxxxxxxx > > Cc: freedreno@xxxxxxxxxxxxxxxxxxxxx > > Ping for some review/acks. > > Thanks, Daniel > > > --- > > drivers/gpu/drm/msm/msm_gem_submit.c | 10 +++++----- > > 1 file changed, 5 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/gpu/drm/msm/msm_gem_submit.c b/drivers/gpu/drm/msm/msm_gem_submit.c > > index 7d04c47d0023..385d4965a8d0 100644 > > --- a/drivers/gpu/drm/msm/msm_gem_submit.c > > +++ b/drivers/gpu/drm/msm/msm_gem_submit.c > > @@ -157,7 +157,7 @@ static void submit_unlock_unpin_bo(struct msm_gem_submit *submit, > > msm_gem_unpin_iova(&msm_obj->base, submit->aspace); > > > > if (submit->bos[i].flags & BO_LOCKED) > > - ww_mutex_unlock(&msm_obj->base.resv->lock); > > + dma_resv_unlock(msm_obj->base.resv); > > > > if (backoff && !(submit->bos[i].flags & BO_VALID)) > > submit->bos[i].iova = 0; > > @@ -180,8 +180,8 @@ static int submit_lock_objects(struct msm_gem_submit *submit) > > contended = i; > > > > if (!(submit->bos[i].flags & BO_LOCKED)) { > > - ret = ww_mutex_lock_interruptible(&msm_obj->base.resv->lock, > > - &submit->ticket); > > + ret = dma_resv_lock_interruptible(msm_obj->base.resv, > > + &submit->ticket); > > if (ret) > > goto fail; > > submit->bos[i].flags |= BO_LOCKED; > > @@ -202,8 +202,8 @@ static int submit_lock_objects(struct msm_gem_submit *submit) > > if (ret == -EDEADLK) { > > struct msm_gem_object *msm_obj = submit->bos[contended].obj; > > /* we lost out in a seqno race, lock and retry.. */ > > - ret = ww_mutex_lock_slow_interruptible(&msm_obj->base.resv->lock, > > - &submit->ticket); > > + ret = dma_resv_lock_slow_interruptible(msm_obj->base.resv, > > + &submit->ticket); > > if (!ret) { > > submit->bos[contended].flags |= BO_LOCKED; > > slow_locked = contended; > > -- > > 2.24.0 > > Reviewed-by: Eric Anholt <eric@xxxxxxxxxx>