Lines Matching refs:tid
310 sta->addr, ba_data->tid); in iwl_mvm_rx_agg_session_expired()
365 u16 *queueptr, u8 tid, u8 flags) in iwl_mvm_disable_txq() argument
384 mvm->queue_info[queue].tid_bitmap &= ~BIT(tid); in iwl_mvm_disable_txq()
401 cmd.tid = mvm->queue_info[queue].txq_tid; in iwl_mvm_disable_txq()
413 iwl_mvm_txq_from_tid(sta, tid); in iwl_mvm_disable_txq()
438 int tid; in iwl_mvm_get_queue_agg_tids() local
457 for_each_set_bit(tid, &tid_bitmap, IWL_MAX_TID_COUNT + 1) { in iwl_mvm_get_queue_agg_tids()
458 if (mvmsta->tid_data[tid].state == IWL_AGG_ON) in iwl_mvm_get_queue_agg_tids()
459 agg_tids |= BIT(tid); in iwl_mvm_get_queue_agg_tids()
478 int tid; in iwl_mvm_remove_sta_queue_marking() local
501 for_each_set_bit(tid, &tid_bitmap, IWL_MAX_TID_COUNT + 1) { in iwl_mvm_remove_sta_queue_marking()
503 iwl_mvm_txq_from_tid(sta, tid); in iwl_mvm_remove_sta_queue_marking()
505 if (mvmsta->tid_data[tid].state == IWL_AGG_ON) in iwl_mvm_remove_sta_queue_marking()
506 disable_agg_tids |= BIT(tid); in iwl_mvm_remove_sta_queue_marking()
507 mvmsta->tid_data[tid].txq_id = IWL_MVM_INVALID_QUEUE; in iwl_mvm_remove_sta_queue_marking()
535 u8 sta_id, tid; in iwl_mvm_free_inactive_queue() local
547 tid = mvm->queue_info[queue].txq_tid; in iwl_mvm_free_inactive_queue()
561 ret = iwl_mvm_disable_txq(mvm, old_sta, &queue_tmp, tid, 0); in iwl_mvm_free_inactive_queue()
651 static int iwl_mvm_redirect_queue(struct iwl_mvm *mvm, int queue, int tid, in iwl_mvm_redirect_queue() argument
682 cmd.tid = mvm->queue_info[queue].txq_tid; in iwl_mvm_redirect_queue()
710 mvm->queue_info[queue].txq_tid = tid; in iwl_mvm_redirect_queue()
716 cmd.sta_id, tid, IWL_FRAME_LIMIT, ssn); in iwl_mvm_redirect_queue()
763 u8 sta_id, u8 tid, unsigned int timeout) in iwl_mvm_tvqm_enable_txq() argument
768 if (tid == IWL_MAX_TID_COUNT) { in iwl_mvm_tvqm_enable_txq()
769 tid = IWL_MGMT_TID; in iwl_mvm_tvqm_enable_txq()
778 sta_id, tid, SCD_QUEUE_CFG, in iwl_mvm_tvqm_enable_txq()
784 size, sta_id, tid, queue); in iwl_mvm_tvqm_enable_txq()
792 queue, sta_id, tid); in iwl_mvm_tvqm_enable_txq()
799 int tid) in iwl_mvm_sta_alloc_queue_tvqm() argument
803 iwl_mvm_txq_from_tid(sta, tid); in iwl_mvm_sta_alloc_queue_tvqm()
812 mvmsta->sta_id, tid); in iwl_mvm_sta_alloc_queue_tvqm()
813 queue = iwl_mvm_tvqm_enable_txq(mvm, mvmsta->sta_id, tid, wdg_timeout); in iwl_mvm_sta_alloc_queue_tvqm()
818 mvm->tvqm_info[queue].txq_tid = tid; in iwl_mvm_sta_alloc_queue_tvqm()
824 mvmsta->tid_data[tid].txq_id = queue; in iwl_mvm_sta_alloc_queue_tvqm()
832 int queue, u8 sta_id, u8 tid) in iwl_mvm_update_txq_mapping() argument
837 if (mvm->queue_info[queue].tid_bitmap & BIT(tid)) { in iwl_mvm_update_txq_mapping()
839 queue, tid); in iwl_mvm_update_txq_mapping()
847 mvm->queue_info[queue].tid_bitmap |= BIT(tid); in iwl_mvm_update_txq_mapping()
851 if (tid != IWL_MAX_TID_COUNT) in iwl_mvm_update_txq_mapping()
853 tid_to_mac80211_ac[tid]; in iwl_mvm_update_txq_mapping()
857 mvm->queue_info[queue].txq_tid = tid; in iwl_mvm_update_txq_mapping()
862 iwl_mvm_txq_from_tid(sta, tid); in iwl_mvm_update_txq_mapping()
887 .tid = cfg->tid, in iwl_mvm_enable_txq()
895 if (!iwl_mvm_update_txq_mapping(mvm, sta, queue, cfg->sta_id, cfg->tid)) in iwl_mvm_enable_txq()
915 int tid; in iwl_mvm_change_queue_tid() local
930 tid = find_first_bit(&tid_bitmap, IWL_MAX_TID_COUNT + 1); in iwl_mvm_change_queue_tid()
931 cmd.tid = tid; in iwl_mvm_change_queue_tid()
932 cmd.tx_fifo = iwl_mvm_ac_to_tx_fifo[tid_to_mac80211_ac[tid]]; in iwl_mvm_change_queue_tid()
941 mvm->queue_info[queue].txq_tid = tid; in iwl_mvm_change_queue_tid()
943 queue, tid); in iwl_mvm_change_queue_tid()
951 int tid = -1; in iwl_mvm_unshare_queue() local
967 tid = find_first_bit(&tid_bitmap, IWL_MAX_TID_COUNT + 1); in iwl_mvm_unshare_queue()
968 if (tid_bitmap != BIT(tid)) { in iwl_mvm_unshare_queue()
975 tid); in iwl_mvm_unshare_queue()
986 ssn = IEEE80211_SEQ_TO_SN(mvmsta->tid_data[tid].seq_number); in iwl_mvm_unshare_queue()
988 ret = iwl_mvm_redirect_queue(mvm, queue, tid, in iwl_mvm_unshare_queue()
989 tid_to_mac80211_ac[tid], ssn, in iwl_mvm_unshare_queue()
991 iwl_mvm_txq_from_tid(sta, tid)); in iwl_mvm_unshare_queue()
998 if (mvmsta->tid_data[tid].state == IWL_AGG_ON) { in iwl_mvm_unshare_queue()
1001 mvmsta->tid_disable_agg &= ~BIT(tid); in iwl_mvm_unshare_queue()
1038 int tid; in iwl_mvm_remove_inactive_tids() local
1047 for_each_set_bit(tid, &tid_bitmap, IWL_MAX_TID_COUNT + 1) { in iwl_mvm_remove_inactive_tids()
1049 if (iwl_mvm_tid_queued(mvm, &mvmsta->tid_data[tid])) in iwl_mvm_remove_inactive_tids()
1050 tid_bitmap &= ~BIT(tid); in iwl_mvm_remove_inactive_tids()
1053 if (mvmsta->tid_data[tid].state != IWL_AGG_OFF) in iwl_mvm_remove_inactive_tids()
1054 tid_bitmap &= ~BIT(tid); in iwl_mvm_remove_inactive_tids()
1067 for_each_set_bit(tid, &tid_bitmap, IWL_MAX_TID_COUNT + 1) { in iwl_mvm_remove_inactive_tids()
1070 mvmsta->tid_data[tid].txq_id = IWL_MVM_INVALID_QUEUE; in iwl_mvm_remove_inactive_tids()
1071 mvm->queue_info[queue].tid_bitmap &= ~BIT(tid); in iwl_mvm_remove_inactive_tids()
1091 tid, queue); in iwl_mvm_remove_inactive_tids()
1146 int tid; in iwl_mvm_inactivity_check() local
1160 for_each_set_bit(tid, &queue_tid_bitmap, in iwl_mvm_inactivity_check()
1162 if (time_after(mvm->queue_info[i].last_frame_time[tid] + in iwl_mvm_inactivity_check()
1166 inactive_tid_bitmap |= BIT(tid); in iwl_mvm_inactivity_check()
1224 struct ieee80211_sta *sta, u8 ac, int tid) in iwl_mvm_sta_alloc_queue() argument
1230 .tid = tid, in iwl_mvm_sta_alloc_queue()
1247 return iwl_mvm_sta_alloc_queue_tvqm(mvm, sta, ac, tid); in iwl_mvm_sta_alloc_queue()
1251 ssn = IEEE80211_SEQ_TO_SN(mvmsta->tid_data[tid].seq_number); in iwl_mvm_sta_alloc_queue()
1254 if (tid == IWL_MAX_TID_COUNT) { in iwl_mvm_sta_alloc_queue()
1303 tid, cfg.sta_id); in iwl_mvm_sta_alloc_queue()
1319 mvmsta->sta_id, tid); in iwl_mvm_sta_alloc_queue()
1351 mvmsta->tid_data[tid].seq_number += 0x10; in iwl_mvm_sta_alloc_queue()
1354 mvmsta->tid_data[tid].txq_id = queue; in iwl_mvm_sta_alloc_queue()
1356 queue_state = mvmsta->tid_data[tid].state; in iwl_mvm_sta_alloc_queue()
1369 ret = iwl_mvm_sta_tx_agg(mvm, sta, tid, queue, true); in iwl_mvm_sta_alloc_queue()
1375 ret = iwl_mvm_redirect_queue(mvm, queue, tid, ac, ssn, in iwl_mvm_sta_alloc_queue()
1377 iwl_mvm_txq_from_tid(sta, tid)); in iwl_mvm_sta_alloc_queue()
1386 iwl_mvm_disable_txq(mvm, sta, &queue_tmp, tid, 0); in iwl_mvm_sta_alloc_queue()
1403 u8 tid; in iwl_mvm_add_new_dqa_stream_wk() local
1410 tid = txq->tid; in iwl_mvm_add_new_dqa_stream_wk()
1411 if (tid == IEEE80211_NUM_TIDS) in iwl_mvm_add_new_dqa_stream_wk()
1412 tid = IWL_MAX_TID_COUNT; in iwl_mvm_add_new_dqa_stream_wk()
1420 if (iwl_mvm_sta_alloc_queue(mvm, txq->sta, txq->ac, tid)) { in iwl_mvm_add_new_dqa_stream_wk()
1535 cfg.tid = i; in iwl_mvm_realloc_queues_after_restart()
2007 .tid = IWL_MAX_TID_COUNT, in iwl_mvm_enable_aux_snif_queue()
2167 .tid = IWL_MAX_TID_COUNT, in iwl_mvm_send_add_bcast_sta()
2354 .tid = 0, in iwl_mvm_add_mcast_sta()
2577 int tid, u16 ssn, bool start, u16 buf_size, u16 timeout) in iwl_mvm_sta_rx_agg() argument
2637 cmd.add_immediate_ba_tid = (u8) tid; in iwl_mvm_sta_rx_agg()
2641 cmd.remove_immediate_ba_tid = (u8) tid; in iwl_mvm_sta_rx_agg()
2693 baid_data->tid = tid; in iwl_mvm_sta_rx_agg()
2696 mvm_sta->tid_to_baid[tid] = baid; in iwl_mvm_sta_rx_agg()
2709 mvm_sta->sta_id, tid, baid); in iwl_mvm_sta_rx_agg()
2713 u8 baid = mvm_sta->tid_to_baid[tid]; in iwl_mvm_sta_rx_agg()
2743 int tid, u8 queue, bool start) in iwl_mvm_sta_tx_agg() argument
2754 mvm_sta->tid_disable_agg &= ~BIT(tid); in iwl_mvm_sta_tx_agg()
2757 mvm_sta->tid_disable_agg |= BIT(tid); in iwl_mvm_sta_tx_agg()
2813 struct ieee80211_sta *sta, u16 tid, u16 *ssn) in iwl_mvm_sta_tx_agg_start() argument
2821 if (WARN_ON_ONCE(tid >= IWL_MAX_TID_COUNT)) in iwl_mvm_sta_tx_agg_start()
2824 if (mvmsta->tid_data[tid].state != IWL_AGG_QUEUED && in iwl_mvm_sta_tx_agg_start()
2825 mvmsta->tid_data[tid].state != IWL_AGG_OFF) { in iwl_mvm_sta_tx_agg_start()
2828 mvmsta->tid_data[tid].state); in iwl_mvm_sta_tx_agg_start()
2834 if (mvmsta->tid_data[tid].txq_id == IWL_MVM_INVALID_QUEUE && in iwl_mvm_sta_tx_agg_start()
2836 u8 ac = tid_to_mac80211_ac[tid]; in iwl_mvm_sta_tx_agg_start()
2838 ret = iwl_mvm_sta_alloc_queue_tvqm(mvm, sta, ac, tid); in iwl_mvm_sta_tx_agg_start()
2851 txq_id = mvmsta->tid_data[tid].txq_id; in iwl_mvm_sta_tx_agg_start()
2868 tid, IWL_MAX_HW_QUEUES - 1); in iwl_mvm_sta_tx_agg_start()
2876 tid); in iwl_mvm_sta_tx_agg_start()
2882 tid, txq_id); in iwl_mvm_sta_tx_agg_start()
2884 tid_data = &mvmsta->tid_data[tid]; in iwl_mvm_sta_tx_agg_start()
2891 mvmsta->sta_id, tid, txq_id, tid_data->ssn, in iwl_mvm_sta_tx_agg_start()
2917 struct ieee80211_sta *sta, u16 tid, u16 buf_size, in iwl_mvm_sta_tx_agg_oper() argument
2921 struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid]; in iwl_mvm_sta_tx_agg_oper()
2931 .tid = tid, in iwl_mvm_sta_tx_agg_oper()
2950 mvmsta->agg_tids |= BIT(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()
2976 cfg.fifo = iwl_mvm_ac_to_tx_fifo[tid_to_mac80211_ac[tid]]; in iwl_mvm_sta_tx_agg_oper()
3002 mvmsta->sta_id, tid, in iwl_mvm_sta_tx_agg_oper()
3017 ret = iwl_mvm_sta_tx_agg(mvm, sta, tid, queue, true); in iwl_mvm_sta_tx_agg_oper()
3038 sta->addr, tid); in iwl_mvm_sta_tx_agg_oper()
3068 struct ieee80211_sta *sta, u16 tid) in iwl_mvm_sta_tx_agg_stop() argument
3071 struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid]; in iwl_mvm_sta_tx_agg_stop()
3080 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); in iwl_mvm_sta_tx_agg_stop()
3089 mvmsta->sta_id, tid, txq_id, tid_data->state); in iwl_mvm_sta_tx_agg_stop()
3091 mvmsta->agg_tids &= ~BIT(tid); in iwl_mvm_sta_tx_agg_stop()
3107 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); in iwl_mvm_sta_tx_agg_stop()
3109 iwl_mvm_sta_tx_agg(mvm, sta, tid, txq_id, false); in iwl_mvm_sta_tx_agg_stop()
3121 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); in iwl_mvm_sta_tx_agg_stop()
3128 mvmsta->sta_id, tid, tid_data->state); in iwl_mvm_sta_tx_agg_stop()
3140 struct ieee80211_sta *sta, u16 tid) in iwl_mvm_sta_tx_agg_flush() argument
3143 struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid]; in iwl_mvm_sta_tx_agg_flush()
3154 mvmsta->sta_id, tid, txq_id, tid_data->state); in iwl_mvm_sta_tx_agg_flush()
3157 mvmsta->agg_tids &= ~BIT(tid); in iwl_mvm_sta_tx_agg_flush()
3167 BIT(tid), 0)) in iwl_mvm_sta_tx_agg_flush()
3178 iwl_mvm_sta_tx_agg(mvm, sta, tid, txq_id, false); in iwl_mvm_sta_tx_agg_flush()
3728 int tid, ret; in iwl_mvm_sta_modify_sleep_tx_count() local
3735 for_each_set_bit(tid, &_tids, IWL_MAX_TID_COUNT) in iwl_mvm_sta_modify_sleep_tx_count()
3736 cmd.awake_acs |= BIT(tid_to_ucode_ac[tid]); in iwl_mvm_sta_modify_sleep_tx_count()
3750 for_each_set_bit(tid, &_tids, IWL_MAX_TID_COUNT) { in iwl_mvm_sta_modify_sleep_tx_count()
3754 tid_data = &mvmsta->tid_data[tid]; in iwl_mvm_sta_modify_sleep_tx_count()