Lines Matching refs:x

21 static void complete_with_flags(struct completion *x, int wake_flags)  in complete_with_flags()  argument
25 raw_spin_lock_irqsave(&x->wait.lock, flags); in complete_with_flags()
27 if (x->done != UINT_MAX) in complete_with_flags()
28 x->done++; in complete_with_flags()
29 swake_up_locked(&x->wait, wake_flags); in complete_with_flags()
30 raw_spin_unlock_irqrestore(&x->wait.lock, flags); in complete_with_flags()
33 void complete_on_current_cpu(struct completion *x) in complete_on_current_cpu() argument
35 return complete_with_flags(x, WF_CURRENT_CPU); in complete_on_current_cpu()
50 void complete(struct completion *x) in complete() argument
52 complete_with_flags(x, 0); in complete()
72 void complete_all(struct completion *x) in complete_all() argument
78 raw_spin_lock_irqsave(&x->wait.lock, flags); in complete_all()
79 x->done = UINT_MAX; in complete_all()
80 swake_up_all_locked(&x->wait); in complete_all()
81 raw_spin_unlock_irqrestore(&x->wait.lock, flags); in complete_all()
86 do_wait_for_common(struct completion *x, in do_wait_for_common() argument
89 if (!x->done) { in do_wait_for_common()
97 __prepare_to_swait(&x->wait, &wait); in do_wait_for_common()
99 raw_spin_unlock_irq(&x->wait.lock); in do_wait_for_common()
101 raw_spin_lock_irq(&x->wait.lock); in do_wait_for_common()
102 } while (!x->done && timeout); in do_wait_for_common()
103 __finish_swait(&x->wait, &wait); in do_wait_for_common()
104 if (!x->done) in do_wait_for_common()
107 if (x->done != UINT_MAX) in do_wait_for_common()
108 x->done--; in do_wait_for_common()
113 __wait_for_common(struct completion *x, in __wait_for_common() argument
118 complete_acquire(x); in __wait_for_common()
120 raw_spin_lock_irq(&x->wait.lock); in __wait_for_common()
121 timeout = do_wait_for_common(x, action, timeout, state); in __wait_for_common()
122 raw_spin_unlock_irq(&x->wait.lock); in __wait_for_common()
124 complete_release(x); in __wait_for_common()
130 wait_for_common(struct completion *x, long timeout, int state) in wait_for_common() argument
132 return __wait_for_common(x, schedule_timeout, timeout, state); in wait_for_common()
136 wait_for_common_io(struct completion *x, long timeout, int state) in wait_for_common_io() argument
138 return __wait_for_common(x, io_schedule_timeout, timeout, state); in wait_for_common_io()
151 void __sched wait_for_completion(struct completion *x) in wait_for_completion() argument
153 wait_for_common(x, MAX_SCHEDULE_TIMEOUT, TASK_UNINTERRUPTIBLE); in wait_for_completion()
170 wait_for_completion_timeout(struct completion *x, unsigned long timeout) in wait_for_completion_timeout() argument
172 return wait_for_common(x, timeout, TASK_UNINTERRUPTIBLE); in wait_for_completion_timeout()
184 void __sched wait_for_completion_io(struct completion *x) in wait_for_completion_io() argument
186 wait_for_common_io(x, MAX_SCHEDULE_TIMEOUT, TASK_UNINTERRUPTIBLE); in wait_for_completion_io()
204 wait_for_completion_io_timeout(struct completion *x, unsigned long timeout) in wait_for_completion_io_timeout() argument
206 return wait_for_common_io(x, timeout, TASK_UNINTERRUPTIBLE); in wait_for_completion_io_timeout()
219 int __sched wait_for_completion_interruptible(struct completion *x) in wait_for_completion_interruptible() argument
221 long t = wait_for_common(x, MAX_SCHEDULE_TIMEOUT, TASK_INTERRUPTIBLE); in wait_for_completion_interruptible()
241 wait_for_completion_interruptible_timeout(struct completion *x, in wait_for_completion_interruptible_timeout() argument
244 return wait_for_common(x, timeout, TASK_INTERRUPTIBLE); in wait_for_completion_interruptible_timeout()
257 int __sched wait_for_completion_killable(struct completion *x) in wait_for_completion_killable() argument
259 long t = wait_for_common(x, MAX_SCHEDULE_TIMEOUT, TASK_KILLABLE); in wait_for_completion_killable()
267 int __sched wait_for_completion_state(struct completion *x, unsigned int state) in wait_for_completion_state() argument
269 long t = wait_for_common(x, MAX_SCHEDULE_TIMEOUT, state); in wait_for_completion_state()
290 wait_for_completion_killable_timeout(struct completion *x, in wait_for_completion_killable_timeout() argument
293 return wait_for_common(x, timeout, TASK_KILLABLE); in wait_for_completion_killable_timeout()
309 bool try_wait_for_completion(struct completion *x) in try_wait_for_completion() argument
320 if (!READ_ONCE(x->done)) in try_wait_for_completion()
323 raw_spin_lock_irqsave(&x->wait.lock, flags); in try_wait_for_completion()
324 if (!x->done) in try_wait_for_completion()
326 else if (x->done != UINT_MAX) in try_wait_for_completion()
327 x->done--; in try_wait_for_completion()
328 raw_spin_unlock_irqrestore(&x->wait.lock, flags); in try_wait_for_completion()
342 bool completion_done(struct completion *x) in completion_done() argument
346 if (!READ_ONCE(x->done)) in completion_done()
354 raw_spin_lock_irqsave(&x->wait.lock, flags); in completion_done()
355 raw_spin_unlock_irqrestore(&x->wait.lock, flags); in completion_done()