Lines Matching refs:coex_cb

23 			(struct rsi_coex_ctrl_block *coex_cb)  in rsi_coex_determine_coex_q()  argument
27 if (skb_queue_len(&coex_cb->coex_tx_qs[RSI_COEX_Q_COMMON]) > 0) in rsi_coex_determine_coex_q()
29 if (skb_queue_len(&coex_cb->coex_tx_qs[RSI_COEX_Q_BT]) > 0) in rsi_coex_determine_coex_q()
31 if (skb_queue_len(&coex_cb->coex_tx_qs[RSI_COEX_Q_WLAN]) > 0) in rsi_coex_determine_coex_q()
37 static void rsi_coex_sched_tx_pkts(struct rsi_coex_ctrl_block *coex_cb) in rsi_coex_sched_tx_pkts() argument
43 coex_q = rsi_coex_determine_coex_q(coex_cb); in rsi_coex_sched_tx_pkts()
47 skb = skb_dequeue(&coex_cb->coex_tx_qs[RSI_COEX_Q_BT]); in rsi_coex_sched_tx_pkts()
48 rsi_send_bt_pkt(coex_cb->priv, skb); in rsi_coex_sched_tx_pkts()
55 struct rsi_coex_ctrl_block *coex_cb = common->coex_cb; in rsi_coex_scheduler_thread() local
59 rsi_wait_event(&coex_cb->coex_tx_thread.event, timeout); in rsi_coex_scheduler_thread()
60 rsi_reset_event(&coex_cb->coex_tx_thread.event); in rsi_coex_scheduler_thread()
62 rsi_coex_sched_tx_pkts(coex_cb); in rsi_coex_scheduler_thread()
63 } while (atomic_read(&coex_cb->coex_tx_thread.thread_done) == 0); in rsi_coex_scheduler_thread()
65 kthread_complete_and_exit(&coex_cb->coex_tx_thread.completion, 0); in rsi_coex_scheduler_thread()
103 struct rsi_coex_ctrl_block *coex_cb = common->coex_cb; in rsi_coex_send_pkt() local
115 skb_queue_tail(&coex_cb->coex_tx_qs[coex_q], skb); in rsi_coex_send_pkt()
116 rsi_set_event(&coex_cb->coex_tx_thread.event); in rsi_coex_send_pkt()
140 struct rsi_coex_ctrl_block *coex_cb; in rsi_coex_attach() local
143 coex_cb = kzalloc(sizeof(*coex_cb), GFP_KERNEL); in rsi_coex_attach()
144 if (!coex_cb) in rsi_coex_attach()
147 common->coex_cb = (void *)coex_cb; in rsi_coex_attach()
148 coex_cb->priv = common; in rsi_coex_attach()
152 skb_queue_head_init(&coex_cb->coex_tx_qs[cnt]); in rsi_coex_attach()
153 rsi_init_event(&coex_cb->coex_tx_thread.event); in rsi_coex_attach()
157 &coex_cb->coex_tx_thread, in rsi_coex_attach()
161 kfree(coex_cb); in rsi_coex_attach()
169 struct rsi_coex_ctrl_block *coex_cb = common->coex_cb; in rsi_coex_detach() local
172 rsi_kill_thread(&coex_cb->coex_tx_thread); in rsi_coex_detach()
175 skb_queue_purge(&coex_cb->coex_tx_qs[cnt]); in rsi_coex_detach()
177 kfree(coex_cb); in rsi_coex_detach()