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