Lines Matching refs:tqe
35 struct txq_entry_t *tqe) in wilc_wlan_txq_remove() argument
37 list_del(&tqe->list); in wilc_wlan_txq_remove()
45 struct txq_entry_t *tqe = NULL; in wilc_wlan_txq_remove_from_head() local
51 tqe = list_first_entry(&wilc->txq[q_num].txq_head.list, in wilc_wlan_txq_remove_from_head()
53 list_del(&tqe->list); in wilc_wlan_txq_remove_from_head()
58 return tqe; in wilc_wlan_txq_remove_from_head()
62 struct txq_entry_t *tqe) in wilc_wlan_txq_add_to_tail() argument
70 list_add_tail(&tqe->list, &wilc->txq[q_num].txq_head.list); in wilc_wlan_txq_add_to_tail()
80 struct txq_entry_t *tqe) in wilc_wlan_txq_add_to_head() argument
89 list_add(&tqe->list, &wilc->txq[q_num].txq_head.list); in wilc_wlan_txq_add_to_head()
139 static inline void tcp_process(struct net_device *dev, struct txq_entry_t *tqe) in tcp_process() argument
141 void *buffer = tqe->buffer; in tcp_process()
184 add_tcp_pending_ack(vif, ack_no, i, tqe); in tcp_process()
217 struct txq_entry_t *tqe; in wilc_wlan_txq_filter_dup_tcp_ack() local
219 tqe = f->pending_acks[i].txqe; in wilc_wlan_txq_filter_dup_tcp_ack()
220 if (tqe) { in wilc_wlan_txq_filter_dup_tcp_ack()
221 wilc_wlan_txq_remove(wilc, tqe->q_num, tqe); in wilc_wlan_txq_filter_dup_tcp_ack()
222 tqe->status = 1; in wilc_wlan_txq_filter_dup_tcp_ack()
223 if (tqe->tx_complete_func) in wilc_wlan_txq_filter_dup_tcp_ack()
224 tqe->tx_complete_func(tqe->priv, in wilc_wlan_txq_filter_dup_tcp_ack()
225 tqe->status); in wilc_wlan_txq_filter_dup_tcp_ack()
226 kfree(tqe); in wilc_wlan_txq_filter_dup_tcp_ack()
256 struct txq_entry_t *tqe; in wilc_wlan_txq_add_cfg_pkt() local
266 tqe = kmalloc(sizeof(*tqe), GFP_ATOMIC); in wilc_wlan_txq_add_cfg_pkt()
267 if (!tqe) { in wilc_wlan_txq_add_cfg_pkt()
272 tqe->type = WILC_CFG_PKT; in wilc_wlan_txq_add_cfg_pkt()
273 tqe->buffer = buffer; in wilc_wlan_txq_add_cfg_pkt()
274 tqe->buffer_size = buffer_size; in wilc_wlan_txq_add_cfg_pkt()
275 tqe->tx_complete_func = NULL; in wilc_wlan_txq_add_cfg_pkt()
276 tqe->priv = NULL; in wilc_wlan_txq_add_cfg_pkt()
277 tqe->q_num = AC_VO_Q; in wilc_wlan_txq_add_cfg_pkt()
278 tqe->ack_idx = NOT_TCP_ACK; in wilc_wlan_txq_add_cfg_pkt()
279 tqe->vif = vif; in wilc_wlan_txq_add_cfg_pkt()
281 wilc_wlan_txq_add_to_head(vif, AC_VO_Q, tqe); in wilc_wlan_txq_add_cfg_pkt()
418 struct txq_entry_t *tqe; in wilc_wlan_txq_add_net_pkt() local
435 tqe = kmalloc(sizeof(*tqe), GFP_ATOMIC); in wilc_wlan_txq_add_net_pkt()
437 if (!tqe) { in wilc_wlan_txq_add_net_pkt()
441 tqe->type = WILC_NET_PKT; in wilc_wlan_txq_add_net_pkt()
442 tqe->buffer = buffer; in wilc_wlan_txq_add_net_pkt()
443 tqe->buffer_size = buffer_size; in wilc_wlan_txq_add_net_pkt()
444 tqe->tx_complete_func = tx_complete_fn; in wilc_wlan_txq_add_net_pkt()
445 tqe->priv = tx_data; in wilc_wlan_txq_add_net_pkt()
446 tqe->vif = vif; in wilc_wlan_txq_add_net_pkt()
449 tqe->q_num = q_num; in wilc_wlan_txq_add_net_pkt()
452 kfree(tqe); in wilc_wlan_txq_add_net_pkt()
457 tqe->ack_idx = NOT_TCP_ACK; in wilc_wlan_txq_add_net_pkt()
459 tcp_process(dev, tqe); in wilc_wlan_txq_add_net_pkt()
460 wilc_wlan_txq_add_to_tail(dev, q_num, tqe); in wilc_wlan_txq_add_net_pkt()
463 kfree(tqe); in wilc_wlan_txq_add_net_pkt()
473 struct txq_entry_t *tqe; in wilc_wlan_txq_add_mgmt_pkt() local
488 tqe = kmalloc(sizeof(*tqe), GFP_ATOMIC); in wilc_wlan_txq_add_mgmt_pkt()
490 if (!tqe) { in wilc_wlan_txq_add_mgmt_pkt()
494 tqe->type = WILC_MGMT_PKT; in wilc_wlan_txq_add_mgmt_pkt()
495 tqe->buffer = buffer; in wilc_wlan_txq_add_mgmt_pkt()
496 tqe->buffer_size = buffer_size; in wilc_wlan_txq_add_mgmt_pkt()
497 tqe->tx_complete_func = tx_complete_fn; in wilc_wlan_txq_add_mgmt_pkt()
498 tqe->priv = priv; in wilc_wlan_txq_add_mgmt_pkt()
499 tqe->q_num = AC_BE_Q; in wilc_wlan_txq_add_mgmt_pkt()
500 tqe->ack_idx = NOT_TCP_ACK; in wilc_wlan_txq_add_mgmt_pkt()
501 tqe->vif = vif; in wilc_wlan_txq_add_mgmt_pkt()
502 wilc_wlan_txq_add_to_tail(dev, AC_VO_Q, tqe); in wilc_wlan_txq_add_mgmt_pkt()
508 struct txq_entry_t *tqe = NULL; in wilc_wlan_txq_get_first() local
514 tqe = list_first_entry(&wilc->txq[q_num].txq_head.list, in wilc_wlan_txq_get_first()
519 return tqe; in wilc_wlan_txq_get_first()
523 struct txq_entry_t *tqe, in wilc_wlan_txq_get_next() argument
530 if (!list_is_last(&tqe->list, &wilc->txq[q_num].txq_head.list)) in wilc_wlan_txq_get_next()
531 tqe = list_next_entry(tqe, list); in wilc_wlan_txq_get_next()
533 tqe = NULL; in wilc_wlan_txq_get_next()
536 return tqe; in wilc_wlan_txq_get_next()
873 struct txq_entry_t *tqe; in wilc_wlan_handle_txq() local
881 tqe = wilc_wlan_txq_remove_from_head(wilc, vmm_entries_ac[i]); in wilc_wlan_handle_txq()
882 if (!tqe) in wilc_wlan_handle_txq()
886 vif = tqe->vif; in wilc_wlan_handle_txq()
892 if (tqe->type == WILC_MGMT_PKT) in wilc_wlan_handle_txq()
895 header = (FIELD_PREP(WILC_VMM_HDR_TYPE, tqe->type) | in wilc_wlan_handle_txq()
897 FIELD_PREP(WILC_VMM_HDR_PKT_SIZE, tqe->buffer_size) | in wilc_wlan_handle_txq()
902 if (tqe->type == WILC_CFG_PKT) { in wilc_wlan_handle_txq()
904 } else if (tqe->type == WILC_NET_PKT) { in wilc_wlan_handle_txq()
905 int prio = tqe->q_num; in wilc_wlan_handle_txq()
907 bssid = tqe->vif->bssid; in wilc_wlan_handle_txq()
916 tqe->buffer, tqe->buffer_size); in wilc_wlan_handle_txq()
919 tqe->status = 1; in wilc_wlan_handle_txq()
920 if (tqe->tx_complete_func) in wilc_wlan_handle_txq()
921 tqe->tx_complete_func(tqe->priv, tqe->status); in wilc_wlan_handle_txq()
922 if (tqe->ack_idx != NOT_TCP_ACK && in wilc_wlan_handle_txq()
923 tqe->ack_idx < MAX_PENDING_ACKS) in wilc_wlan_handle_txq()
924 vif->ack_filter.pending_acks[tqe->ack_idx].txqe = NULL; in wilc_wlan_handle_txq()
925 kfree(tqe); in wilc_wlan_handle_txq()
1237 struct txq_entry_t *tqe; in wilc_wlan_cleanup() local
1245 while ((tqe = wilc_wlan_txq_remove_from_head(wilc, ac))) { in wilc_wlan_cleanup()
1246 if (tqe->tx_complete_func) in wilc_wlan_cleanup()
1247 tqe->tx_complete_func(tqe->priv, 0); in wilc_wlan_cleanup()
1248 kfree(tqe); in wilc_wlan_cleanup()