Home
last modified time | relevance | path

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

/optee_os/core/include/kernel/
H A Dmutex.h85 void condvar_init(struct condvar *cv);
86 void condvar_destroy(struct condvar *cv);
89 void condvar_signal_debug(struct condvar *cv, const char *fname, int lineno);
90 #define condvar_signal(cv) condvar_signal_debug((cv), __FILE__, __LINE__) argument
92 void condvar_broadcast_debug(struct condvar *cv, const char *fname, int lineno);
93 #define condvar_broadcast(cv) condvar_broadcast_debug((cv), __FILE__, __LINE__) argument
95 void condvar_wait_debug(struct condvar *cv, struct mutex *m,
97 #define condvar_wait(cv, m) condvar_wait_debug((cv), (m), __FILE__, __LINE__) argument
103 TEE_Result condvar_wait_timeout_debug(struct condvar *cv, struct mutex *m,
106 #define condvar_wait_timeout(cv, m, timeout_ms) \ argument
[all …]
H A Dwait_queue.h22 struct condvar *cv; member
40 struct condvar *cv, bool wait_read);
60 void wq_promote_condvar(struct wait_queue *wq, struct condvar *cv,
63 bool wq_have_condvar(struct wait_queue *wq, struct condvar *cv);
/optee_os/core/kernel/
H A Dmutex.c379 void condvar_init(struct condvar *cv) in condvar_init() argument
381 *cv = (struct condvar)CONDVAR_INITIALIZER; in condvar_init()
384 void condvar_destroy(struct condvar *cv) in condvar_destroy() argument
386 if (cv->m && wq_have_condvar(&cv->m->wq, cv)) in condvar_destroy()
389 condvar_init(cv); in condvar_destroy()
392 static void cv_signal(struct condvar *cv, bool only_one, const char *fname, in cv_signal() argument
398 old_itr_status = cpu_spin_lock_xsave(&cv->spin_lock); in cv_signal()
399 m = cv->m; in cv_signal()
400 cpu_spin_unlock_xrestore(&cv->spin_lock, old_itr_status); in cv_signal()
403 wq_promote_condvar(&m->wq, cv, only_one, m, fname, lineno); in cv_signal()
[all …]
H A Dwait_queue.c62 struct condvar *cv, bool wait_read) in wq_wait_init_condvar() argument
69 wqe->cv = cv; in wq_wait_init_condvar()
127 if (wqe->cv) in wq_wake_next()
157 void wq_promote_condvar(struct wait_queue *wq, struct condvar *cv, in wq_promote_condvar() argument
164 if (!cv) 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()
193 bool wq_have_condvar(struct wait_queue *wq, struct condvar *cv) in wq_have_condvar() argument
[all …]