Commit 2955b73d authored by Chris Wilson's avatar Chris Wilson Committed by Daniel Vetter

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: default avatarChris 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: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20170221093000.22802-1-chris@chris-wilson.co.uk
parent 5f152576
...@@ -166,6 +166,26 @@ reservation_object_lock(struct reservation_object *obj, ...@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment