Home
last modified time | relevance | path

Searched refs:wq (Results 1 – 4 of 4) sorted by relevance

/optee_os/core/kernel/
H A Dwait_queue.c18 void wq_init(struct wait_queue *wq) in wq_init() argument
20 *wq = (struct wait_queue)WAIT_QUEUE_INITIALIZER; in wq_init()
47 static void slist_add_tail(struct wait_queue *wq, struct wait_queue_elem *wqe) in slist_add_tail() argument
52 wqe_iter = SLIST_FIRST(wq); in slist_add_tail()
58 SLIST_INSERT_HEAD(wq, wqe, link); in slist_add_tail()
61 void wq_wait_init_condvar(struct wait_queue *wq, struct wait_queue_elem *wqe, in wq_wait_init_condvar() argument
73 slist_add_tail(wq, wqe); in wq_wait_init_condvar()
78 static TEE_Result wq_wait_final_helper(struct wait_queue *wq, in wq_wait_final_helper() argument
90 SLIST_REMOVE(wq, wqe, wait_queue_elem, link); in wq_wait_final_helper()
99 TEE_Result wq_wait_final(struct wait_queue *wq, struct wait_queue_elem *wqe, in wq_wait_final() argument
[all …]
H A Dmutex.c52 wq_wait_init(&m->wq, &wqe, false /* wait_read */); in __mutex_lock()
64 wq_wait_final(&m->wq, &wqe, 0, m, fname, lineno); in __mutex_lock()
109 wq_wake_next(&m->wq, m, fname, lineno); in __mutex_unlock()
170 wq_wake_next(&m->wq, m, fname, lineno); in __mutex_read_unlock()
197 wq_wait_init(&m->wq, &wqe, true /* wait_read */); in __mutex_read_lock()
209 wq_wait_final(&m->wq, &wqe, 0, m, fname, lineno); in __mutex_read_lock()
328 if (!wq_is_empty(&m->wq)) in mutex_destroy()
386 if (cv->m && wq_have_condvar(&cv->m->wq, cv)) in condvar_destroy()
403 wq_promote_condvar(&m->wq, cv, only_one, m, fname, lineno); in cv_signal()
456 wq_wait_init_condvar(&m->wq, &wqe, cv, m->state > 0); in __condvar_wait_timeout()
[all …]
/optee_os/core/include/kernel/
H A Dwait_queue.h29 void wq_init(struct wait_queue *wq);
39 void wq_wait_init_condvar(struct wait_queue *wq, struct wait_queue_elem *wqe,
42 static inline void wq_wait_init(struct wait_queue *wq, in wq_wait_init() argument
45 wq_wait_init_condvar(wq, wqe, NULL, wait_read); in wq_wait_init()
49 TEE_Result wq_wait_final(struct wait_queue *wq, struct wait_queue_elem *wqe,
54 void wq_wake_next(struct wait_queue *wq, const void *sync_obj,
58 bool wq_is_empty(struct wait_queue *wq);
60 void wq_promote_condvar(struct wait_queue *wq, struct condvar *cv,
63 bool wq_have_condvar(struct wait_queue *wq, struct condvar *cv);
H A Dmutex.h15 struct wait_queue wq; member
19 #define MUTEX_INITIALIZER { .wq = WAIT_QUEUE_INITIALIZER }