Lines Matching refs:tqe
33 struct txq_entry_t *tqe) in wilc_wlan_txq_remove() argument
35 list_del(&tqe->list); in wilc_wlan_txq_remove()
43 struct txq_entry_t *tqe = NULL; in wilc_wlan_txq_remove_from_head() local
49 tqe = list_first_entry(&wilc->txq[q_num].txq_head.list, in wilc_wlan_txq_remove_from_head()
51 list_del(&tqe->list); in wilc_wlan_txq_remove_from_head()
56 return tqe; in wilc_wlan_txq_remove_from_head()
60 struct txq_entry_t *tqe) in wilc_wlan_txq_add_to_tail() argument
68 list_add_tail(&tqe->list, &wilc->txq[q_num].txq_head.list); in wilc_wlan_txq_add_to_tail()
78 struct txq_entry_t *tqe) in wilc_wlan_txq_add_to_head() argument
87 list_add(&tqe->list, &wilc->txq[q_num].txq_head.list); in wilc_wlan_txq_add_to_head()
137 static inline void tcp_process(struct net_device *dev, struct txq_entry_t *tqe) in tcp_process() argument
139 void *buffer = tqe->buffer; in tcp_process()
182 add_tcp_pending_ack(vif, ack_no, i, tqe); in tcp_process()
215 struct txq_entry_t *tqe; in wilc_wlan_txq_filter_dup_tcp_ack() local
217 tqe = f->pending_acks[i].txqe; in wilc_wlan_txq_filter_dup_tcp_ack()
218 if (tqe) { in wilc_wlan_txq_filter_dup_tcp_ack()
219 wilc_wlan_txq_remove(wilc, tqe->q_num, tqe); in wilc_wlan_txq_filter_dup_tcp_ack()
220 tqe->status = 1; in wilc_wlan_txq_filter_dup_tcp_ack()
221 if (tqe->tx_complete_func) in wilc_wlan_txq_filter_dup_tcp_ack()
222 tqe->tx_complete_func(tqe->priv, in wilc_wlan_txq_filter_dup_tcp_ack()
223 tqe->status); in wilc_wlan_txq_filter_dup_tcp_ack()
224 kfree(tqe); in wilc_wlan_txq_filter_dup_tcp_ack()
254 struct txq_entry_t *tqe; in wilc_wlan_txq_add_cfg_pkt() local
264 tqe = kmalloc(sizeof(*tqe), GFP_ATOMIC); in wilc_wlan_txq_add_cfg_pkt()
265 if (!tqe) { in wilc_wlan_txq_add_cfg_pkt()
270 tqe->type = WILC_CFG_PKT; in wilc_wlan_txq_add_cfg_pkt()
271 tqe->buffer = buffer; in wilc_wlan_txq_add_cfg_pkt()
272 tqe->buffer_size = buffer_size; in wilc_wlan_txq_add_cfg_pkt()
273 tqe->tx_complete_func = NULL; in wilc_wlan_txq_add_cfg_pkt()
274 tqe->priv = NULL; in wilc_wlan_txq_add_cfg_pkt()
275 tqe->q_num = AC_VO_Q; in wilc_wlan_txq_add_cfg_pkt()
276 tqe->ack_idx = NOT_TCP_ACK; in wilc_wlan_txq_add_cfg_pkt()
277 tqe->vif = vif; in wilc_wlan_txq_add_cfg_pkt()
279 wilc_wlan_txq_add_to_head(vif, AC_VO_Q, tqe); in wilc_wlan_txq_add_cfg_pkt()
416 struct txq_entry_t *tqe; in wilc_wlan_txq_add_net_pkt() local
428 tqe = kmalloc(sizeof(*tqe), GFP_ATOMIC); in wilc_wlan_txq_add_net_pkt()
430 if (!tqe) { in wilc_wlan_txq_add_net_pkt()
434 tqe->type = WILC_NET_PKT; in wilc_wlan_txq_add_net_pkt()
435 tqe->buffer = buffer; in wilc_wlan_txq_add_net_pkt()
436 tqe->buffer_size = buffer_size; in wilc_wlan_txq_add_net_pkt()
437 tqe->tx_complete_func = tx_complete_fn; in wilc_wlan_txq_add_net_pkt()
438 tqe->priv = tx_data; in wilc_wlan_txq_add_net_pkt()
439 tqe->vif = vif; in wilc_wlan_txq_add_net_pkt()
442 tqe->q_num = q_num; in wilc_wlan_txq_add_net_pkt()
445 kfree(tqe); in wilc_wlan_txq_add_net_pkt()
450 tqe->ack_idx = NOT_TCP_ACK; in wilc_wlan_txq_add_net_pkt()
452 tcp_process(dev, tqe); in wilc_wlan_txq_add_net_pkt()
453 wilc_wlan_txq_add_to_tail(dev, q_num, tqe); in wilc_wlan_txq_add_net_pkt()
456 kfree(tqe); in wilc_wlan_txq_add_net_pkt()
466 struct txq_entry_t *tqe; in wilc_wlan_txq_add_mgmt_pkt() local
477 tqe = kmalloc(sizeof(*tqe), GFP_ATOMIC); in wilc_wlan_txq_add_mgmt_pkt()
479 if (!tqe) { in wilc_wlan_txq_add_mgmt_pkt()
483 tqe->type = WILC_MGMT_PKT; in wilc_wlan_txq_add_mgmt_pkt()
484 tqe->buffer = buffer; in wilc_wlan_txq_add_mgmt_pkt()
485 tqe->buffer_size = buffer_size; in wilc_wlan_txq_add_mgmt_pkt()
486 tqe->tx_complete_func = tx_complete_fn; in wilc_wlan_txq_add_mgmt_pkt()
487 tqe->priv = priv; in wilc_wlan_txq_add_mgmt_pkt()
488 tqe->q_num = AC_BE_Q; in wilc_wlan_txq_add_mgmt_pkt()
489 tqe->ack_idx = NOT_TCP_ACK; in wilc_wlan_txq_add_mgmt_pkt()
490 tqe->vif = vif; in wilc_wlan_txq_add_mgmt_pkt()
491 wilc_wlan_txq_add_to_tail(dev, AC_VO_Q, tqe); in wilc_wlan_txq_add_mgmt_pkt()
497 struct txq_entry_t *tqe = NULL; in wilc_wlan_txq_get_first() local
503 tqe = list_first_entry(&wilc->txq[q_num].txq_head.list, in wilc_wlan_txq_get_first()
508 return tqe; in wilc_wlan_txq_get_first()
512 struct txq_entry_t *tqe, in wilc_wlan_txq_get_next() argument
519 if (!list_is_last(&tqe->list, &wilc->txq[q_num].txq_head.list)) in wilc_wlan_txq_get_next()
520 tqe = list_next_entry(tqe, list); in wilc_wlan_txq_get_next()
522 tqe = NULL; in wilc_wlan_txq_get_next()
525 return tqe; in wilc_wlan_txq_get_next()
860 struct txq_entry_t *tqe; in wilc_wlan_handle_txq() local
865 tqe = wilc_wlan_txq_remove_from_head(wilc, vmm_entries_ac[i]); in wilc_wlan_handle_txq()
867 if (!tqe) in wilc_wlan_handle_txq()
870 vif = tqe->vif; in wilc_wlan_handle_txq()
878 if (tqe->type == WILC_MGMT_PKT) in wilc_wlan_handle_txq()
881 header = (FIELD_PREP(WILC_VMM_HDR_TYPE, tqe->type) | in wilc_wlan_handle_txq()
883 FIELD_PREP(WILC_VMM_HDR_PKT_SIZE, tqe->buffer_size) | in wilc_wlan_handle_txq()
888 if (tqe->type == WILC_CFG_PKT) { in wilc_wlan_handle_txq()
890 } else if (tqe->type == WILC_NET_PKT) { in wilc_wlan_handle_txq()
891 int prio = tqe->q_num; in wilc_wlan_handle_txq()
893 bssid = tqe->vif->bssid; in wilc_wlan_handle_txq()
902 tqe->buffer, tqe->buffer_size); in wilc_wlan_handle_txq()
905 tqe->status = 1; in wilc_wlan_handle_txq()
906 if (tqe->tx_complete_func) in wilc_wlan_handle_txq()
907 tqe->tx_complete_func(tqe->priv, tqe->status); in wilc_wlan_handle_txq()
908 if (tqe->ack_idx != NOT_TCP_ACK && in wilc_wlan_handle_txq()
909 tqe->ack_idx < MAX_PENDING_ACKS) in wilc_wlan_handle_txq()
910 vif->ack_filter.pending_acks[tqe->ack_idx].txqe = NULL; in wilc_wlan_handle_txq()
911 kfree(tqe); in wilc_wlan_handle_txq()
1205 struct txq_entry_t *tqe; in wilc_wlan_cleanup() local
1213 while ((tqe = wilc_wlan_txq_remove_from_head(wilc, ac))) { in wilc_wlan_cleanup()
1214 if (tqe->tx_complete_func) in wilc_wlan_cleanup()
1215 tqe->tx_complete_func(tqe->priv, 0); in wilc_wlan_cleanup()
1216 kfree(tqe); in wilc_wlan_cleanup()