Lines Matching refs:tid
264 sta->addr, ba_data->tid); in iwl_mvm_rx_agg_session_expired()
319 u16 *queueptr, u8 tid, u8 flags) in iwl_mvm_disable_txq() argument
338 mvm->queue_info[queue].tid_bitmap &= ~BIT(tid); in iwl_mvm_disable_txq()
355 cmd.tid = mvm->queue_info[queue].txq_tid; in iwl_mvm_disable_txq()
367 iwl_mvm_txq_from_tid(sta, tid); in iwl_mvm_disable_txq()
392 int tid; in iwl_mvm_get_queue_agg_tids() local
411 for_each_set_bit(tid, &tid_bitmap, IWL_MAX_TID_COUNT + 1) { in iwl_mvm_get_queue_agg_tids()
412 if (mvmsta->tid_data[tid].state == IWL_AGG_ON) in iwl_mvm_get_queue_agg_tids()
413 agg_tids |= BIT(tid); in iwl_mvm_get_queue_agg_tids()
432 int tid; in iwl_mvm_remove_sta_queue_marking() local
455 for_each_set_bit(tid, &tid_bitmap, IWL_MAX_TID_COUNT + 1) { in iwl_mvm_remove_sta_queue_marking()
457 iwl_mvm_txq_from_tid(sta, tid); in iwl_mvm_remove_sta_queue_marking()
459 if (mvmsta->tid_data[tid].state == IWL_AGG_ON) in iwl_mvm_remove_sta_queue_marking()
460 disable_agg_tids |= BIT(tid); in iwl_mvm_remove_sta_queue_marking()
461 mvmsta->tid_data[tid].txq_id = IWL_MVM_INVALID_QUEUE; in iwl_mvm_remove_sta_queue_marking()
489 u8 sta_id, tid; in iwl_mvm_free_inactive_queue() local
501 tid = mvm->queue_info[queue].txq_tid; in iwl_mvm_free_inactive_queue()
515 ret = iwl_mvm_disable_txq(mvm, old_sta, &queue_tmp, tid, 0); in iwl_mvm_free_inactive_queue()
605 static int iwl_mvm_redirect_queue(struct iwl_mvm *mvm, int queue, int tid, in iwl_mvm_redirect_queue() argument
636 cmd.tid = mvm->queue_info[queue].txq_tid; in iwl_mvm_redirect_queue()
664 mvm->queue_info[queue].txq_tid = tid; in iwl_mvm_redirect_queue()
670 cmd.sta_id, tid, IWL_FRAME_LIMIT, ssn); in iwl_mvm_redirect_queue()
717 u8 sta_id, u8 tid, unsigned int timeout) in iwl_mvm_tvqm_enable_txq() argument
722 if (tid == IWL_MAX_TID_COUNT) { in iwl_mvm_tvqm_enable_txq()
723 tid = IWL_MGMT_TID; in iwl_mvm_tvqm_enable_txq()
732 sta_id, tid, SCD_QUEUE_CFG, in iwl_mvm_tvqm_enable_txq()
738 size, sta_id, tid, queue); in iwl_mvm_tvqm_enable_txq()
746 queue, sta_id, tid); in iwl_mvm_tvqm_enable_txq()
753 int tid) in iwl_mvm_sta_alloc_queue_tvqm() argument
757 iwl_mvm_txq_from_tid(sta, tid); in iwl_mvm_sta_alloc_queue_tvqm()
766 mvmsta->sta_id, tid); in iwl_mvm_sta_alloc_queue_tvqm()
767 queue = iwl_mvm_tvqm_enable_txq(mvm, mvmsta->sta_id, tid, wdg_timeout); in iwl_mvm_sta_alloc_queue_tvqm()
772 mvm->tvqm_info[queue].txq_tid = tid; in iwl_mvm_sta_alloc_queue_tvqm()
778 mvmsta->tid_data[tid].txq_id = queue; in iwl_mvm_sta_alloc_queue_tvqm()
786 int queue, u8 sta_id, u8 tid) in iwl_mvm_update_txq_mapping() argument
791 if (mvm->queue_info[queue].tid_bitmap & BIT(tid)) { in iwl_mvm_update_txq_mapping()
793 queue, tid); in iwl_mvm_update_txq_mapping()
801 mvm->queue_info[queue].tid_bitmap |= BIT(tid); in iwl_mvm_update_txq_mapping()
805 if (tid != IWL_MAX_TID_COUNT) in iwl_mvm_update_txq_mapping()
807 tid_to_mac80211_ac[tid]; in iwl_mvm_update_txq_mapping()
811 mvm->queue_info[queue].txq_tid = tid; in iwl_mvm_update_txq_mapping()
816 iwl_mvm_txq_from_tid(sta, tid); in iwl_mvm_update_txq_mapping()
841 .tid = cfg->tid, in iwl_mvm_enable_txq()
849 if (!iwl_mvm_update_txq_mapping(mvm, sta, queue, cfg->sta_id, cfg->tid)) in iwl_mvm_enable_txq()
869 int tid; in iwl_mvm_change_queue_tid() local
884 tid = find_first_bit(&tid_bitmap, IWL_MAX_TID_COUNT + 1); in iwl_mvm_change_queue_tid()
885 cmd.tid = tid; in iwl_mvm_change_queue_tid()
886 cmd.tx_fifo = iwl_mvm_ac_to_tx_fifo[tid_to_mac80211_ac[tid]]; in iwl_mvm_change_queue_tid()
895 mvm->queue_info[queue].txq_tid = tid; in iwl_mvm_change_queue_tid()
897 queue, tid); in iwl_mvm_change_queue_tid()
905 int tid = -1; in iwl_mvm_unshare_queue() local
921 tid = find_first_bit(&tid_bitmap, IWL_MAX_TID_COUNT + 1); in iwl_mvm_unshare_queue()
922 if (tid_bitmap != BIT(tid)) { in iwl_mvm_unshare_queue()
929 tid); in iwl_mvm_unshare_queue()
940 ssn = IEEE80211_SEQ_TO_SN(mvmsta->tid_data[tid].seq_number); in iwl_mvm_unshare_queue()
942 ret = iwl_mvm_redirect_queue(mvm, queue, tid, in iwl_mvm_unshare_queue()
943 tid_to_mac80211_ac[tid], ssn, in iwl_mvm_unshare_queue()
945 iwl_mvm_txq_from_tid(sta, tid)); in iwl_mvm_unshare_queue()
952 if (mvmsta->tid_data[tid].state == IWL_AGG_ON) { in iwl_mvm_unshare_queue()
955 mvmsta->tid_disable_agg &= ~BIT(tid); in iwl_mvm_unshare_queue()
992 int tid; in iwl_mvm_remove_inactive_tids() local
1001 for_each_set_bit(tid, &tid_bitmap, IWL_MAX_TID_COUNT + 1) { in iwl_mvm_remove_inactive_tids()
1003 if (iwl_mvm_tid_queued(mvm, &mvmsta->tid_data[tid])) in iwl_mvm_remove_inactive_tids()
1004 tid_bitmap &= ~BIT(tid); in iwl_mvm_remove_inactive_tids()
1007 if (mvmsta->tid_data[tid].state != IWL_AGG_OFF) in iwl_mvm_remove_inactive_tids()
1008 tid_bitmap &= ~BIT(tid); in iwl_mvm_remove_inactive_tids()
1021 for_each_set_bit(tid, &tid_bitmap, IWL_MAX_TID_COUNT + 1) { in iwl_mvm_remove_inactive_tids()
1024 mvmsta->tid_data[tid].txq_id = IWL_MVM_INVALID_QUEUE; in iwl_mvm_remove_inactive_tids()
1025 mvm->queue_info[queue].tid_bitmap &= ~BIT(tid); in iwl_mvm_remove_inactive_tids()
1045 tid, queue); in iwl_mvm_remove_inactive_tids()
1100 int tid; in iwl_mvm_inactivity_check() local
1114 for_each_set_bit(tid, &queue_tid_bitmap, in iwl_mvm_inactivity_check()
1116 if (time_after(mvm->queue_info[i].last_frame_time[tid] + in iwl_mvm_inactivity_check()
1120 inactive_tid_bitmap |= BIT(tid); in iwl_mvm_inactivity_check()
1178 struct ieee80211_sta *sta, u8 ac, int tid) in iwl_mvm_sta_alloc_queue() argument
1184 .tid = tid, in iwl_mvm_sta_alloc_queue()
1201 return iwl_mvm_sta_alloc_queue_tvqm(mvm, sta, ac, tid); in iwl_mvm_sta_alloc_queue()
1205 ssn = IEEE80211_SEQ_TO_SN(mvmsta->tid_data[tid].seq_number); in iwl_mvm_sta_alloc_queue()
1208 if (tid == IWL_MAX_TID_COUNT) { in iwl_mvm_sta_alloc_queue()
1257 tid, cfg.sta_id); in iwl_mvm_sta_alloc_queue()
1273 mvmsta->sta_id, tid); in iwl_mvm_sta_alloc_queue()
1305 mvmsta->tid_data[tid].seq_number += 0x10; in iwl_mvm_sta_alloc_queue()
1308 mvmsta->tid_data[tid].txq_id = queue; in iwl_mvm_sta_alloc_queue()
1310 queue_state = mvmsta->tid_data[tid].state; in iwl_mvm_sta_alloc_queue()
1323 ret = iwl_mvm_sta_tx_agg(mvm, sta, tid, queue, true); in iwl_mvm_sta_alloc_queue()
1329 ret = iwl_mvm_redirect_queue(mvm, queue, tid, ac, ssn, in iwl_mvm_sta_alloc_queue()
1331 iwl_mvm_txq_from_tid(sta, tid)); in iwl_mvm_sta_alloc_queue()
1340 iwl_mvm_disable_txq(mvm, sta, &queue_tmp, tid, 0); in iwl_mvm_sta_alloc_queue()
1357 u8 tid; in iwl_mvm_add_new_dqa_stream_wk() local
1364 tid = txq->tid; in iwl_mvm_add_new_dqa_stream_wk()
1365 if (tid == IEEE80211_NUM_TIDS) in iwl_mvm_add_new_dqa_stream_wk()
1366 tid = IWL_MAX_TID_COUNT; in iwl_mvm_add_new_dqa_stream_wk()
1374 if (iwl_mvm_sta_alloc_queue(mvm, txq->sta, txq->ac, tid)) { in iwl_mvm_add_new_dqa_stream_wk()
1489 cfg.tid = i; in iwl_mvm_realloc_queues_after_restart()
1960 .tid = IWL_MAX_TID_COUNT, in iwl_mvm_enable_aux_snif_queue()
2120 .tid = IWL_MAX_TID_COUNT, in iwl_mvm_send_add_bcast_sta()
2307 .tid = 0, in iwl_mvm_add_mcast_sta()
2530 int tid, u16 ssn, bool start, u16 buf_size, u16 timeout) in iwl_mvm_sta_rx_agg() argument
2590 cmd.add_immediate_ba_tid = (u8) tid; in iwl_mvm_sta_rx_agg()
2594 cmd.remove_immediate_ba_tid = (u8) tid; in iwl_mvm_sta_rx_agg()
2646 baid_data->tid = tid; in iwl_mvm_sta_rx_agg()
2649 mvm_sta->tid_to_baid[tid] = baid; in iwl_mvm_sta_rx_agg()
2662 mvm_sta->sta_id, tid, baid); in iwl_mvm_sta_rx_agg()
2666 u8 baid = mvm_sta->tid_to_baid[tid]; in iwl_mvm_sta_rx_agg()
2696 int tid, u8 queue, bool start) in iwl_mvm_sta_tx_agg() argument
2707 mvm_sta->tid_disable_agg &= ~BIT(tid); in iwl_mvm_sta_tx_agg()
2710 mvm_sta->tid_disable_agg |= BIT(tid); in iwl_mvm_sta_tx_agg()
2766 struct ieee80211_sta *sta, u16 tid, u16 *ssn) in iwl_mvm_sta_tx_agg_start() argument
2774 if (WARN_ON_ONCE(tid >= IWL_MAX_TID_COUNT)) in iwl_mvm_sta_tx_agg_start()
2777 if (mvmsta->tid_data[tid].state != IWL_AGG_QUEUED && in iwl_mvm_sta_tx_agg_start()
2778 mvmsta->tid_data[tid].state != IWL_AGG_OFF) { in iwl_mvm_sta_tx_agg_start()
2781 mvmsta->tid_data[tid].state); in iwl_mvm_sta_tx_agg_start()
2787 if (mvmsta->tid_data[tid].txq_id == IWL_MVM_INVALID_QUEUE && in iwl_mvm_sta_tx_agg_start()
2789 u8 ac = tid_to_mac80211_ac[tid]; in iwl_mvm_sta_tx_agg_start()
2791 ret = iwl_mvm_sta_alloc_queue_tvqm(mvm, sta, ac, tid); in iwl_mvm_sta_tx_agg_start()
2804 txq_id = mvmsta->tid_data[tid].txq_id; in iwl_mvm_sta_tx_agg_start()
2821 tid, IWL_MAX_HW_QUEUES - 1); in iwl_mvm_sta_tx_agg_start()
2829 tid); in iwl_mvm_sta_tx_agg_start()
2835 tid, txq_id); in iwl_mvm_sta_tx_agg_start()
2837 tid_data = &mvmsta->tid_data[tid]; in iwl_mvm_sta_tx_agg_start()
2844 mvmsta->sta_id, tid, txq_id, tid_data->ssn, in iwl_mvm_sta_tx_agg_start()
2870 struct ieee80211_sta *sta, u16 tid, u16 buf_size, in iwl_mvm_sta_tx_agg_oper() argument
2874 struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid]; in iwl_mvm_sta_tx_agg_oper()
2884 .tid = tid, in iwl_mvm_sta_tx_agg_oper()
2903 mvmsta->agg_tids |= BIT(tid); in iwl_mvm_sta_tx_agg_oper()
2923 ret = iwl_mvm_sta_tx_agg(mvm, sta, tid, queue, true); in iwl_mvm_sta_tx_agg_oper()
2929 cfg.fifo = iwl_mvm_ac_to_tx_fifo[tid_to_mac80211_ac[tid]]; in iwl_mvm_sta_tx_agg_oper()
2955 mvmsta->sta_id, tid, in iwl_mvm_sta_tx_agg_oper()
2970 ret = iwl_mvm_sta_tx_agg(mvm, sta, tid, queue, true); in iwl_mvm_sta_tx_agg_oper()
2991 sta->addr, tid); in iwl_mvm_sta_tx_agg_oper()
3021 struct ieee80211_sta *sta, u16 tid) in iwl_mvm_sta_tx_agg_stop() argument
3024 struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid]; in iwl_mvm_sta_tx_agg_stop()
3033 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); in iwl_mvm_sta_tx_agg_stop()
3042 mvmsta->sta_id, tid, txq_id, tid_data->state); in iwl_mvm_sta_tx_agg_stop()
3044 mvmsta->agg_tids &= ~BIT(tid); in iwl_mvm_sta_tx_agg_stop()
3060 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); in iwl_mvm_sta_tx_agg_stop()
3062 iwl_mvm_sta_tx_agg(mvm, sta, tid, txq_id, false); in iwl_mvm_sta_tx_agg_stop()
3074 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); in iwl_mvm_sta_tx_agg_stop()
3081 mvmsta->sta_id, tid, tid_data->state); in iwl_mvm_sta_tx_agg_stop()
3093 struct ieee80211_sta *sta, u16 tid) in iwl_mvm_sta_tx_agg_flush() argument
3096 struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid]; in iwl_mvm_sta_tx_agg_flush()
3107 mvmsta->sta_id, tid, txq_id, tid_data->state); in iwl_mvm_sta_tx_agg_flush()
3110 mvmsta->agg_tids &= ~BIT(tid); in iwl_mvm_sta_tx_agg_flush()
3120 BIT(tid))) in iwl_mvm_sta_tx_agg_flush()
3131 iwl_mvm_sta_tx_agg(mvm, sta, tid, txq_id, false); in iwl_mvm_sta_tx_agg_flush()
3727 int tid, ret; in iwl_mvm_sta_modify_sleep_tx_count() local
3734 for_each_set_bit(tid, &_tids, IWL_MAX_TID_COUNT) in iwl_mvm_sta_modify_sleep_tx_count()
3735 cmd.awake_acs |= BIT(tid_to_ucode_ac[tid]); in iwl_mvm_sta_modify_sleep_tx_count()
3749 for_each_set_bit(tid, &_tids, IWL_MAX_TID_COUNT) { in iwl_mvm_sta_modify_sleep_tx_count()
3753 tid_data = &mvmsta->tid_data[tid]; in iwl_mvm_sta_modify_sleep_tx_count()