Lines Matching full:w
64 mt76_worker_setup(struct ieee80211_hw *hw, struct mt76_worker *w, in mt76_worker_setup() argument
72 w->fn = fn; in mt76_worker_setup()
73 w->task = kthread_run(__mt76_worker_fn, w, in mt76_worker_setup()
76 if (IS_ERR(w->task)) { in mt76_worker_setup()
77 ret = PTR_ERR(w->task); in mt76_worker_setup()
78 w->task = NULL; in mt76_worker_setup()
85 static inline void mt76_worker_schedule(struct mt76_worker *w) in mt76_worker_schedule() argument
87 if (!w->task) in mt76_worker_schedule()
90 if (!test_and_set_bit(MT76_WORKER_SCHEDULED, &w->state) && in mt76_worker_schedule()
91 !test_bit(MT76_WORKER_RUNNING, &w->state)) in mt76_worker_schedule()
92 wake_up_process(w->task); in mt76_worker_schedule()
95 static inline void mt76_worker_disable(struct mt76_worker *w) in mt76_worker_disable() argument
97 if (!w->task) in mt76_worker_disable()
100 kthread_park(w->task); in mt76_worker_disable()
101 WRITE_ONCE(w->state, 0); in mt76_worker_disable()
104 static inline void mt76_worker_enable(struct mt76_worker *w) in mt76_worker_enable() argument
106 if (!w->task) in mt76_worker_enable()
109 kthread_unpark(w->task); in mt76_worker_enable()
110 mt76_worker_schedule(w); in mt76_worker_enable()
113 static inline void mt76_worker_teardown(struct mt76_worker *w) in mt76_worker_teardown() argument
115 if (!w->task) in mt76_worker_teardown()
118 kthread_stop(w->task); in mt76_worker_teardown()
119 w->task = NULL; in mt76_worker_teardown()