Lines Matching refs:txqi

1380 	struct txq_info *txqi;  in codel_dequeue_func()  local
1384 txqi = ctx; in codel_dequeue_func()
1385 local = vif_to_sdata(txqi->txq.vif)->local; in codel_dequeue_func()
1388 if (cvars == &txqi->def_cvars) in codel_dequeue_func()
1389 flow = &txqi->tin.default_flow; in codel_dequeue_func()
1401 struct txq_info *txqi; in codel_drop_func() local
1403 txqi = ctx; in codel_drop_func()
1404 local = vif_to_sdata(txqi->txq.vif)->local; in codel_drop_func()
1415 struct txq_info *txqi; in fq_tin_dequeue_func() local
1421 txqi = container_of(tin, struct txq_info, tin); in fq_tin_dequeue_func()
1422 cstats = &txqi->cstats; in fq_tin_dequeue_func()
1424 if (txqi->txq.sta) { in fq_tin_dequeue_func()
1425 struct sta_info *sta = container_of(txqi->txq.sta, in fq_tin_dequeue_func()
1433 cvars = &txqi->def_cvars; in fq_tin_dequeue_func()
1437 return codel_dequeue(txqi, in fq_tin_dequeue_func()
1460 struct txq_info *txqi, in ieee80211_txq_enqueue() argument
1464 struct fq_tin *tin = &txqi->tin; in ieee80211_txq_enqueue()
1476 if (unlikely(txqi->txq.tid == IEEE80211_NUM_TIDS)) { in ieee80211_txq_enqueue()
1479 __skb_queue_tail(&txqi->frags, skb); in ieee80211_txq_enqueue()
1500 struct txq_info *txqi; in ieee80211_txq_remove_vlan() local
1512 txqi = to_txq_info(ap->vif.txq); in ieee80211_txq_remove_vlan()
1513 tin = &txqi->tin; in ieee80211_txq_remove_vlan()
1523 struct txq_info *txqi, int tid) in ieee80211_txq_init() argument
1525 fq_tin_init(&txqi->tin); in ieee80211_txq_init()
1526 codel_vars_init(&txqi->def_cvars); in ieee80211_txq_init()
1527 codel_stats_init(&txqi->cstats); in ieee80211_txq_init()
1528 __skb_queue_head_init(&txqi->frags); in ieee80211_txq_init()
1529 INIT_LIST_HEAD(&txqi->schedule_order); in ieee80211_txq_init()
1531 txqi->txq.vif = &sdata->vif; in ieee80211_txq_init()
1534 sdata->vif.txq = &txqi->txq; in ieee80211_txq_init()
1535 txqi->txq.tid = 0; in ieee80211_txq_init()
1536 txqi->txq.ac = IEEE80211_AC_BE; in ieee80211_txq_init()
1552 txqi->txq.ac = IEEE80211_AC_VO; in ieee80211_txq_init()
1554 txqi->txq.ac = ieee80211_ac_from_tid(tid); in ieee80211_txq_init()
1557 txqi->txq.sta = &sta->sta; in ieee80211_txq_init()
1558 txqi->txq.tid = tid; in ieee80211_txq_init()
1559 sta->sta.txq[tid] = &txqi->txq; in ieee80211_txq_init()
1563 struct txq_info *txqi) in ieee80211_txq_purge() argument
1566 struct fq_tin *tin = &txqi->tin; in ieee80211_txq_purge()
1570 ieee80211_purge_tx_queue(&local->hw, &txqi->frags); in ieee80211_txq_purge()
1573 spin_lock_bh(&local->active_txq_lock[txqi->txq.ac]); in ieee80211_txq_purge()
1574 list_del_init(&txqi->schedule_order); in ieee80211_txq_purge()
1575 spin_unlock_bh(&local->active_txq_lock[txqi->txq.ac]); in ieee80211_txq_purge()
1665 struct txq_info *txqi; in ieee80211_queue_skb() local
1675 txqi = ieee80211_get_txq(local, vif, sta, skb); in ieee80211_queue_skb()
1677 if (!txqi) in ieee80211_queue_skb()
1680 ieee80211_txq_enqueue(local, txqi, skb); in ieee80211_queue_skb()
1682 schedule_and_wake_txq(local, txqi); in ieee80211_queue_skb()
3382 struct txq_info *txqi; in ieee80211_amsdu_aggregate() local
3409 txqi = to_txq_info(txq); in ieee80211_amsdu_aggregate()
3410 if (test_bit(IEEE80211_TXQ_NO_AMSDU, &txqi->flags)) in ieee80211_amsdu_aggregate()
3429 tin = &txqi->tin; in ieee80211_amsdu_aggregate()
3774 struct txq_info *txqi = container_of(txq, struct txq_info, txq); in ieee80211_tx_dequeue() local
3778 struct fq_tin *tin = &txqi->tin; in ieee80211_tx_dequeue()
3798 set_bit(IEEE80211_TXQ_DIRTY, &txqi->flags); in ieee80211_tx_dequeue()
3805 skb = __skb_dequeue(&txqi->frags); in ieee80211_tx_dequeue()
3813 if (unlikely(test_bit(IEEE80211_TXQ_STOP, &txqi->flags))) in ieee80211_tx_dequeue()
3865 if (test_bit(IEEE80211_TXQ_AMPDU, &txqi->flags)) in ieee80211_tx_dequeue()
3903 skb_queue_splice_tail(&tx.skbs, &txqi->frags); in ieee80211_tx_dequeue()
3979 ieee80211_txq_set_active(struct txq_info *txqi) in ieee80211_txq_set_active() argument
3983 if (!txqi->txq.sta) in ieee80211_txq_set_active()
3986 sta = container_of(txqi->txq.sta, struct sta_info, sta); in ieee80211_txq_set_active()
3987 sta->airtime[txqi->txq.ac].last_active = (u32)jiffies; in ieee80211_txq_set_active()
3991 ieee80211_txq_keep_active(struct txq_info *txqi) in ieee80211_txq_keep_active() argument
3996 if (!txqi->txq.sta) in ieee80211_txq_keep_active()
3999 sta = container_of(txqi->txq.sta, struct sta_info, sta); in ieee80211_txq_keep_active()
4000 if (ieee80211_sta_deficit(sta, txqi->txq.ac) >= 0) in ieee80211_txq_keep_active()
4003 diff = (u32)jiffies - sta->airtime[txqi->txq.ac].last_active; in ieee80211_txq_keep_active()
4012 struct txq_info *txqi = NULL, *head = NULL; in ieee80211_next_txq() local
4021 txqi = list_first_entry_or_null(&local->active_txqs[ac], in ieee80211_next_txq()
4024 if (!txqi) in ieee80211_next_txq()
4027 if (txqi == head) { in ieee80211_next_txq()
4035 head = txqi; in ieee80211_next_txq()
4037 if (txqi->txq.sta) { in ieee80211_next_txq()
4038 struct sta_info *sta = container_of(txqi->txq.sta, in ieee80211_next_txq()
4040 bool aql_check = ieee80211_txq_airtime_check(hw, &txqi->txq); in ieee80211_next_txq()
4041 s32 deficit = ieee80211_sta_deficit(sta, txqi->txq.ac); in ieee80211_next_txq()
4047 sta->airtime[txqi->txq.ac].deficit += in ieee80211_next_txq()
4051 list_move_tail(&txqi->schedule_order, in ieee80211_next_txq()
4052 &local->active_txqs[txqi->txq.ac]); in ieee80211_next_txq()
4057 if (txqi->schedule_round == local->schedule_round[ac]) in ieee80211_next_txq()
4060 list_del_init(&txqi->schedule_order); in ieee80211_next_txq()
4061 txqi->schedule_round = local->schedule_round[ac]; in ieee80211_next_txq()
4062 ret = &txqi->txq; in ieee80211_next_txq()
4075 struct txq_info *txqi = to_txq_info(txq); in __ieee80211_schedule_txq() local
4081 if (list_empty(&txqi->schedule_order) && in __ieee80211_schedule_txq()
4082 (has_queue || ieee80211_txq_keep_active(txqi))) { in __ieee80211_schedule_txq()
4090 if (txqi->txq.sta && local->airtime_flags && has_queue && in __ieee80211_schedule_txq()
4093 list_add(&txqi->schedule_order, in __ieee80211_schedule_txq()
4096 list_add_tail(&txqi->schedule_order, in __ieee80211_schedule_txq()
4099 ieee80211_txq_set_active(txqi); in __ieee80211_schedule_txq()
4164 struct txq_info *iter, *tmp, *txqi = to_txq_info(txq); in ieee80211_txq_may_transmit() local
4170 if (!txqi->txq.sta) in ieee80211_txq_may_transmit()
4173 if (list_empty(&txqi->schedule_order)) in ieee80211_txq_may_transmit()
4181 if (iter == txqi) in ieee80211_txq_may_transmit()
4195 sta = container_of(txqi->txq.sta, struct sta_info, sta); in ieee80211_txq_may_transmit()
4200 list_move_tail(&txqi->schedule_order, &local->active_txqs[ac]); in ieee80211_txq_may_transmit()
4205 if (!list_empty(&txqi->schedule_order)) in ieee80211_txq_may_transmit()
4206 list_del_init(&txqi->schedule_order); in ieee80211_txq_may_transmit()