dma-buf/reservation: Wrap ww_mutex_trylock
In a similar fashion to reservation_object_lock() and reservation_object_unlock(), ww_mutex_trylock is also useful and so is worth wrapping for consistency. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Sumit Semwal <sumit.semwal@linaro.org> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> [danvet: Add __must_check Joonas wants.] Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/20170221093000.22802-1-chris@chris-wilson.co.uk
This commit is contained in:

committed by
Daniel Vetter

parent
5f15257689
commit
2955b73def
@@ -166,6 +166,26 @@ reservation_object_lock(struct reservation_object *obj,
|
|||||||
return ww_mutex_lock(&obj->lock, ctx);
|
return ww_mutex_lock(&obj->lock, ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* reservation_object_trylock - trylock the reservation object
|
||||||
|
* @obj: the reservation object
|
||||||
|
*
|
||||||
|
* Tries to lock the reservation object for exclusive access and modification.
|
||||||
|
* Note, that the lock is only against other writers, readers will run
|
||||||
|
* concurrently with a writer under RCU. The seqlock is used to notify readers
|
||||||
|
* if they overlap with a writer.
|
||||||
|
*
|
||||||
|
* Also note that since no context is provided, no deadlock protection is
|
||||||
|
* possible.
|
||||||
|
*
|
||||||
|
* Returns true if the lock was acquired, false otherwise.
|
||||||
|
*/
|
||||||
|
static inline bool __must_check
|
||||||
|
reservation_object_trylock(struct reservation_object *obj)
|
||||||
|
{
|
||||||
|
return ww_mutex_trylock(&obj->lock);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* reservation_object_unlock - unlock the reservation object
|
* reservation_object_unlock - unlock the reservation object
|
||||||
* @obj: the reservation object
|
* @obj: the reservation object
|
||||||
|
Reference in New Issue
Block a user