Lines Matching refs:txqi

1378 	struct txq_info *txqi;  in codel_dequeue_func()  local
1382 txqi = ctx; in codel_dequeue_func()
1383 local = vif_to_sdata(txqi->txq.vif)->local; in codel_dequeue_func()
1386 if (cvars == &txqi->def_cvars) in codel_dequeue_func()
1387 flow = &txqi->tin.default_flow; in codel_dequeue_func()
1399 struct txq_info *txqi; in codel_drop_func() local
1401 txqi = ctx; in codel_drop_func()
1402 local = vif_to_sdata(txqi->txq.vif)->local; in codel_drop_func()
1413 struct txq_info *txqi; in fq_tin_dequeue_func() local
1419 txqi = container_of(tin, struct txq_info, tin); in fq_tin_dequeue_func()
1420 cstats = &txqi->cstats; in fq_tin_dequeue_func()
1422 if (txqi->txq.sta) { in fq_tin_dequeue_func()
1423 struct sta_info *sta = container_of(txqi->txq.sta, in fq_tin_dequeue_func()
1431 cvars = &txqi->def_cvars; in fq_tin_dequeue_func()
1435 return codel_dequeue(txqi, in fq_tin_dequeue_func()
1458 struct txq_info *txqi, in ieee80211_txq_enqueue() argument
1462 struct fq_tin *tin = &txqi->tin; in ieee80211_txq_enqueue()
1474 if (unlikely(txqi->txq.tid == IEEE80211_NUM_TIDS)) { in ieee80211_txq_enqueue()
1477 __skb_queue_tail(&txqi->frags, skb); in ieee80211_txq_enqueue()
1498 struct txq_info *txqi; in ieee80211_txq_remove_vlan() local
1510 txqi = to_txq_info(ap->vif.txq); in ieee80211_txq_remove_vlan()
1511 tin = &txqi->tin; in ieee80211_txq_remove_vlan()
1521 struct txq_info *txqi, int tid) in ieee80211_txq_init() argument
1523 fq_tin_init(&txqi->tin); in ieee80211_txq_init()
1524 codel_vars_init(&txqi->def_cvars); in ieee80211_txq_init()
1525 codel_stats_init(&txqi->cstats); in ieee80211_txq_init()
1526 __skb_queue_head_init(&txqi->frags); in ieee80211_txq_init()
1527 INIT_LIST_HEAD(&txqi->schedule_order); in ieee80211_txq_init()
1529 txqi->txq.vif = &sdata->vif; in ieee80211_txq_init()
1532 sdata->vif.txq = &txqi->txq; in ieee80211_txq_init()
1533 txqi->txq.tid = 0; in ieee80211_txq_init()
1534 txqi->txq.ac = IEEE80211_AC_BE; in ieee80211_txq_init()
1550 txqi->txq.ac = IEEE80211_AC_VO; in ieee80211_txq_init()
1552 txqi->txq.ac = ieee80211_ac_from_tid(tid); in ieee80211_txq_init()
1555 txqi->txq.sta = &sta->sta; in ieee80211_txq_init()
1556 txqi->txq.tid = tid; in ieee80211_txq_init()
1557 sta->sta.txq[tid] = &txqi->txq; in ieee80211_txq_init()
1561 struct txq_info *txqi) in ieee80211_txq_purge() argument
1564 struct fq_tin *tin = &txqi->tin; in ieee80211_txq_purge()
1568 ieee80211_purge_tx_queue(&local->hw, &txqi->frags); in ieee80211_txq_purge()
1571 spin_lock_bh(&local->active_txq_lock[txqi->txq.ac]); in ieee80211_txq_purge()
1572 list_del_init(&txqi->schedule_order); in ieee80211_txq_purge()
1573 spin_unlock_bh(&local->active_txq_lock[txqi->txq.ac]); in ieee80211_txq_purge()
1669 struct txq_info *txqi; in ieee80211_queue_skb() local
1680 txqi = ieee80211_get_txq(local, vif, sta, skb); in ieee80211_queue_skb()
1682 if (!txqi) in ieee80211_queue_skb()
1685 ieee80211_txq_enqueue(local, txqi, skb); in ieee80211_queue_skb()
1687 schedule_and_wake_txq(local, txqi); in ieee80211_queue_skb()
3387 struct txq_info *txqi; in ieee80211_amsdu_aggregate() local
3414 txqi = to_txq_info(txq); in ieee80211_amsdu_aggregate()
3415 if (test_bit(IEEE80211_TXQ_NO_AMSDU, &txqi->flags)) in ieee80211_amsdu_aggregate()
3434 tin = &txqi->tin; in ieee80211_amsdu_aggregate()
3710 struct txq_info *txqi = container_of(txq, struct txq_info, txq); in ieee80211_tx_dequeue() local
3714 struct fq_tin *tin = &txqi->tin; in ieee80211_tx_dequeue()
3728 if (test_bit(IEEE80211_TXQ_STOP, &txqi->flags) || in ieee80211_tx_dequeue()
3729 test_bit(IEEE80211_TXQ_STOP_NETIF_TX, &txqi->flags)) in ieee80211_tx_dequeue()
3733 set_bit(IEEE80211_TXQ_STOP_NETIF_TX, &txqi->flags); in ieee80211_tx_dequeue()
3738 skb = __skb_dequeue(&txqi->frags); in ieee80211_tx_dequeue()
3795 if (test_bit(IEEE80211_TXQ_AMPDU, &txqi->flags)) in ieee80211_tx_dequeue()
3834 skb_queue_splice_tail(&tx.skbs, &txqi->frags); in ieee80211_tx_dequeue()
3910 ieee80211_txq_set_active(struct txq_info *txqi) in ieee80211_txq_set_active() argument
3914 if (!txqi->txq.sta) in ieee80211_txq_set_active()
3917 sta = container_of(txqi->txq.sta, struct sta_info, sta); in ieee80211_txq_set_active()
3918 sta->airtime[txqi->txq.ac].last_active = (u32)jiffies; in ieee80211_txq_set_active()
3922 ieee80211_txq_keep_active(struct txq_info *txqi) in ieee80211_txq_keep_active() argument
3927 if (!txqi->txq.sta) in ieee80211_txq_keep_active()
3930 sta = container_of(txqi->txq.sta, struct sta_info, sta); in ieee80211_txq_keep_active()
3931 if (ieee80211_sta_deficit(sta, txqi->txq.ac) >= 0) in ieee80211_txq_keep_active()
3934 diff = (u32)jiffies - sta->airtime[txqi->txq.ac].last_active; in ieee80211_txq_keep_active()
3943 struct txq_info *txqi = NULL, *head = NULL; in ieee80211_next_txq() local
3952 txqi = list_first_entry_or_null(&local->active_txqs[ac], in ieee80211_next_txq()
3955 if (!txqi) in ieee80211_next_txq()
3958 if (txqi == head) { in ieee80211_next_txq()
3966 head = txqi; in ieee80211_next_txq()
3968 if (txqi->txq.sta) { in ieee80211_next_txq()
3969 struct sta_info *sta = container_of(txqi->txq.sta, in ieee80211_next_txq()
3971 bool aql_check = ieee80211_txq_airtime_check(hw, &txqi->txq); in ieee80211_next_txq()
3972 s32 deficit = ieee80211_sta_deficit(sta, txqi->txq.ac); in ieee80211_next_txq()
3978 sta->airtime[txqi->txq.ac].deficit += in ieee80211_next_txq()
3982 list_move_tail(&txqi->schedule_order, in ieee80211_next_txq()
3983 &local->active_txqs[txqi->txq.ac]); in ieee80211_next_txq()
3988 if (txqi->schedule_round == local->schedule_round[ac]) in ieee80211_next_txq()
3991 list_del_init(&txqi->schedule_order); in ieee80211_next_txq()
3992 txqi->schedule_round = local->schedule_round[ac]; in ieee80211_next_txq()
3993 ret = &txqi->txq; in ieee80211_next_txq()
4006 struct txq_info *txqi = to_txq_info(txq); in __ieee80211_schedule_txq() local
4012 if (list_empty(&txqi->schedule_order) && in __ieee80211_schedule_txq()
4013 (has_queue || ieee80211_txq_keep_active(txqi))) { in __ieee80211_schedule_txq()
4021 if (txqi->txq.sta && local->airtime_flags && has_queue && in __ieee80211_schedule_txq()
4024 list_add(&txqi->schedule_order, in __ieee80211_schedule_txq()
4027 list_add_tail(&txqi->schedule_order, in __ieee80211_schedule_txq()
4030 ieee80211_txq_set_active(txqi); in __ieee80211_schedule_txq()
4095 struct txq_info *iter, *tmp, *txqi = to_txq_info(txq); in ieee80211_txq_may_transmit() local
4101 if (!txqi->txq.sta) in ieee80211_txq_may_transmit()
4104 if (list_empty(&txqi->schedule_order)) in ieee80211_txq_may_transmit()
4112 if (iter == txqi) in ieee80211_txq_may_transmit()
4126 sta = container_of(txqi->txq.sta, struct sta_info, sta); in ieee80211_txq_may_transmit()
4131 list_move_tail(&txqi->schedule_order, &local->active_txqs[ac]); in ieee80211_txq_may_transmit()
4136 if (!list_empty(&txqi->schedule_order)) in ieee80211_txq_may_transmit()
4137 list_del_init(&txqi->schedule_order); in ieee80211_txq_may_transmit()