mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 17:13:52 +02:00
drm/etnaviv: Use dma_resv locking wrappers
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. v2: Fix the lost _interruptible (Michael) Acked-by: Michael J. Ruhl <michael.j.ruhl@intel.com> Reviewed-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Russell King <linux+etnaviv@armlinux.org.uk> Cc: Christian Gmeiner <christian.gmeiner@gmail.com> Cc: etnaviv@lists.freedesktop.org Cc: "Ruhl, Michael J" <michael.j.ruhl@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20191214000927.1616384-1-daniel.vetter@ffwll.ch
This commit is contained in:
parent
616b549b15
commit
caa2a77810
|
|
@ -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_interruptible(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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user