Lines Matching refs:txqi
1303 struct txq_info *txqi; in codel_dequeue_func() local
1307 txqi = ctx; in codel_dequeue_func()
1308 local = vif_to_sdata(txqi->txq.vif)->local; in codel_dequeue_func()
1311 if (cvars == &txqi->def_cvars) in codel_dequeue_func()
1312 flow = &txqi->def_flow; in codel_dequeue_func()
1324 struct txq_info *txqi; in codel_drop_func() local
1326 txqi = ctx; in codel_drop_func()
1327 local = vif_to_sdata(txqi->txq.vif)->local; in codel_drop_func()
1338 struct txq_info *txqi; in fq_tin_dequeue_func() local
1344 txqi = container_of(tin, struct txq_info, tin); in fq_tin_dequeue_func()
1345 cstats = &txqi->cstats; in fq_tin_dequeue_func()
1347 if (txqi->txq.sta) { in fq_tin_dequeue_func()
1348 struct sta_info *sta = container_of(txqi->txq.sta, in fq_tin_dequeue_func()
1355 if (flow == &txqi->def_flow) in fq_tin_dequeue_func()
1356 cvars = &txqi->def_cvars; in fq_tin_dequeue_func()
1360 return codel_dequeue(txqi, in fq_tin_dequeue_func()
1387 struct txq_info *txqi; in fq_flow_get_default_func() local
1389 txqi = container_of(tin, struct txq_info, tin); in fq_flow_get_default_func()
1390 return &txqi->def_flow; in fq_flow_get_default_func()
1394 struct txq_info *txqi, in ieee80211_txq_enqueue() argument
1398 struct fq_tin *tin = &txqi->tin; in ieee80211_txq_enqueue()
1423 struct txq_info *txqi; in ieee80211_txq_remove_vlan() local
1435 txqi = to_txq_info(ap->vif.txq); in ieee80211_txq_remove_vlan()
1436 tin = &txqi->tin; in ieee80211_txq_remove_vlan()
1446 struct txq_info *txqi, int tid) in ieee80211_txq_init() argument
1448 fq_tin_init(&txqi->tin); in ieee80211_txq_init()
1449 fq_flow_init(&txqi->def_flow); in ieee80211_txq_init()
1450 codel_vars_init(&txqi->def_cvars); in ieee80211_txq_init()
1451 codel_stats_init(&txqi->cstats); in ieee80211_txq_init()
1452 __skb_queue_head_init(&txqi->frags); in ieee80211_txq_init()
1453 INIT_LIST_HEAD(&txqi->schedule_order); in ieee80211_txq_init()
1455 txqi->txq.vif = &sdata->vif; in ieee80211_txq_init()
1458 sdata->vif.txq = &txqi->txq; in ieee80211_txq_init()
1459 txqi->txq.tid = 0; in ieee80211_txq_init()
1460 txqi->txq.ac = IEEE80211_AC_BE; in ieee80211_txq_init()
1476 txqi->txq.ac = IEEE80211_AC_VO; in ieee80211_txq_init()
1478 txqi->txq.ac = ieee80211_ac_from_tid(tid); in ieee80211_txq_init()
1481 txqi->txq.sta = &sta->sta; in ieee80211_txq_init()
1482 txqi->txq.tid = tid; in ieee80211_txq_init()
1483 sta->sta.txq[tid] = &txqi->txq; in ieee80211_txq_init()
1487 struct txq_info *txqi) in ieee80211_txq_purge() argument
1490 struct fq_tin *tin = &txqi->tin; in ieee80211_txq_purge()
1494 ieee80211_purge_tx_queue(&local->hw, &txqi->frags); in ieee80211_txq_purge()
1497 spin_lock_bh(&local->active_txq_lock[txqi->txq.ac]); in ieee80211_txq_purge()
1498 list_del_init(&txqi->schedule_order); in ieee80211_txq_purge()
1499 spin_unlock_bh(&local->active_txq_lock[txqi->txq.ac]); in ieee80211_txq_purge()
1595 struct txq_info *txqi; in ieee80211_queue_skb() local
1606 txqi = ieee80211_get_txq(local, vif, sta, skb); in ieee80211_queue_skb()
1608 if (!txqi) in ieee80211_queue_skb()
1611 ieee80211_txq_enqueue(local, txqi, skb); in ieee80211_queue_skb()
1613 schedule_and_wake_txq(local, txqi); in ieee80211_queue_skb()
3222 struct txq_info *txqi; in ieee80211_amsdu_aggregate() local
3246 txqi = to_txq_info(txq); in ieee80211_amsdu_aggregate()
3247 if (test_bit(IEEE80211_TXQ_NO_AMSDU, &txqi->flags)) in ieee80211_amsdu_aggregate()
3266 tin = &txqi->tin; in ieee80211_amsdu_aggregate()
3540 struct txq_info *txqi = container_of(txq, struct txq_info, txq); in ieee80211_tx_dequeue() local
3544 struct fq_tin *tin = &txqi->tin; in ieee80211_tx_dequeue()
3555 if (test_bit(IEEE80211_TXQ_STOP, &txqi->flags) || in ieee80211_tx_dequeue()
3556 test_bit(IEEE80211_TXQ_STOP_NETIF_TX, &txqi->flags)) in ieee80211_tx_dequeue()
3560 set_bit(IEEE80211_TXQ_STOP_NETIF_TX, &txqi->flags); in ieee80211_tx_dequeue()
3565 skb = __skb_dequeue(&txqi->frags); in ieee80211_tx_dequeue()
3597 if (test_bit(IEEE80211_TXQ_AMPDU, &txqi->flags)) in ieee80211_tx_dequeue()
3621 skb_queue_splice_tail(&tx.skbs, &txqi->frags); in ieee80211_tx_dequeue()
3675 struct txq_info *txqi = NULL; in ieee80211_next_txq() local
3680 txqi = list_first_entry_or_null(&local->active_txqs[ac], in ieee80211_next_txq()
3683 if (!txqi) in ieee80211_next_txq()
3686 if (txqi->txq.sta) { in ieee80211_next_txq()
3687 struct sta_info *sta = container_of(txqi->txq.sta, in ieee80211_next_txq()
3690 if (sta->airtime[txqi->txq.ac].deficit < 0) { in ieee80211_next_txq()
3691 sta->airtime[txqi->txq.ac].deficit += in ieee80211_next_txq()
3693 list_move_tail(&txqi->schedule_order, in ieee80211_next_txq()
3694 &local->active_txqs[txqi->txq.ac]); in ieee80211_next_txq()
3700 if (txqi->schedule_round == local->schedule_round[ac]) in ieee80211_next_txq()
3703 list_del_init(&txqi->schedule_order); in ieee80211_next_txq()
3704 txqi->schedule_round = local->schedule_round[ac]; in ieee80211_next_txq()
3705 ret = &txqi->txq; in ieee80211_next_txq()
3718 struct txq_info *txqi = to_txq_info(txq); in __ieee80211_schedule_txq() local
3722 if (list_empty(&txqi->schedule_order) && in __ieee80211_schedule_txq()
3723 (force || !skb_queue_empty(&txqi->frags) || in __ieee80211_schedule_txq()
3724 txqi->tin.backlog_packets)) { in __ieee80211_schedule_txq()
3732 if (txqi->txq.sta && in __ieee80211_schedule_txq()
3735 list_add(&txqi->schedule_order, in __ieee80211_schedule_txq()
3738 list_add_tail(&txqi->schedule_order, in __ieee80211_schedule_txq()
3750 struct txq_info *iter, *tmp, *txqi = to_txq_info(txq); in ieee80211_txq_may_transmit() local
3756 if (!txqi->txq.sta) in ieee80211_txq_may_transmit()
3759 if (list_empty(&txqi->schedule_order)) in ieee80211_txq_may_transmit()
3764 if (iter == txqi) in ieee80211_txq_may_transmit()
3778 sta = container_of(txqi->txq.sta, struct sta_info, sta); in ieee80211_txq_may_transmit()
3783 list_move_tail(&txqi->schedule_order, &local->active_txqs[ac]); in ieee80211_txq_may_transmit()
3788 if (!list_empty(&txqi->schedule_order)) in ieee80211_txq_may_transmit()
3789 list_del_init(&txqi->schedule_order); in ieee80211_txq_may_transmit()