Home | History | Annotate | Download | only in drm

Lines Matching refs:tb

57 static inline void task_barrier_init(struct task_barrier *tb)
59 tb->n = 0;
60 atomic_set(&tb->count, 0);
61 sema_init(&tb->enter_turnstile, 0);
62 sema_init(&tb->exit_turnstile, 0);
65 static inline void task_barrier_add_task(struct task_barrier *tb)
67 tb->n++;
70 static inline void task_barrier_rem_task(struct task_barrier *tb)
72 tb->n--;
80 static inline void task_barrier_enter(struct task_barrier *tb)
82 if (atomic_inc_return(&tb->count) == tb->n)
83 task_barrier_signal_turnstile(&tb->enter_turnstile, tb->n);
85 down(&tb->enter_turnstile);
94 static inline void task_barrier_exit(struct task_barrier *tb)
96 if (atomic_dec_return(&tb->count) == 0)
97 task_barrier_signal_turnstile(&tb->exit_turnstile, tb->n);
99 down(&tb->exit_turnstile);
103 static inline void task_barrier_full(struct task_barrier *tb)
105 task_barrier_enter(tb);
106 task_barrier_exit(tb);