Lines Matching refs:wqe

47 static void slist_add_tail(struct wait_queue *wq, struct wait_queue_elem *wqe)  in slist_add_tail()  argument
56 SLIST_INSERT_AFTER(wqe_iter, wqe, link); 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
66 wqe->handle = thread_get_id(); in wq_wait_init_condvar()
67 wqe->done = false; in wq_wait_init_condvar()
68 wqe->wait_read = wait_read; in wq_wait_init_condvar()
69 wqe->cv = cv; in wq_wait_init_condvar()
73 slist_add_tail(wq, wqe); in wq_wait_init_condvar()
79 struct wait_queue_elem *wqe, in wq_wait_final_helper() argument
86 do_notif(true, wqe->handle, timeout_ms, "sleep", sync_obj, fname, in wq_wait_final_helper()
90 SLIST_REMOVE(wq, wqe, wait_queue_elem, link); in wq_wait_final_helper()
93 if (wqe->done) 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
103 return wq_wait_final_helper(wq, wqe, timeout_ms, sync_obj, fname, in wq_wait_final()
111 struct wait_queue_elem *wqe; in wq_wake_next() local
126 SLIST_FOREACH(wqe, wq, link) { in wq_wake_next()
127 if (wqe->cv) in wq_wake_next()
129 if (wqe->done) in wq_wake_next()
132 wake_read = wqe->wait_read; in wq_wake_next()
136 if (wqe->wait_read != wake_read) in wq_wake_next()
139 wqe->done = true; in wq_wake_next()
140 handle = wqe->handle; in wq_wake_next()
162 struct wait_queue_elem *wqe; in wq_promote_condvar() local
175 SLIST_FOREACH(wqe, wq, link) { in wq_promote_condvar()
176 if (wqe->cv == cv) { in wq_promote_condvar()
179 wqe->handle, (void *)cv->m, fname, lineno); in wq_promote_condvar()
182 wqe->handle, (void *)cv->m); in wq_promote_condvar()
184 wqe->cv = NULL; in wq_promote_condvar()
196 struct wait_queue_elem *wqe; in wq_have_condvar() local
201 SLIST_FOREACH(wqe, wq, link) { in wq_have_condvar()
202 if (wqe->cv == cv) { in wq_have_condvar()