Searched refs:tid_data (Results 1 - 17 of 17) sorted by relevance

/linux-4.1.27/drivers/net/wireless/iwlwifi/dvm/
H A Dtx.c395 struct iwl_tid_data *tid_data; iwlagn_tx_skb() local
400 tid_data = &priv->tid_data[sta_id][tid]; iwlagn_tx_skb()
404 tid_data->agg.state != IWL_AGG_ON) { iwlagn_tx_skb()
407 info->flags, tid_data->agg.state); iwlagn_tx_skb()
410 IEEE80211_SEQ_TO_SN(tid_data->seq_number)); iwlagn_tx_skb()
417 if (WARN_ONCE(tid_data->agg.state != IWL_AGG_ON && iwlagn_tx_skb()
418 tid_data->agg.state != IWL_AGG_OFF, iwlagn_tx_skb()
419 "Tx while agg.state = %d\n", tid_data->agg.state)) iwlagn_tx_skb()
422 seq_number = tid_data->seq_number; iwlagn_tx_skb()
439 txq_id = priv->tid_data[sta_id][tid].agg.txq_id; iwlagn_tx_skb()
459 priv->tid_data[sta_id][tid].seq_number = seq_number; iwlagn_tx_skb()
507 struct iwl_tid_data *tid_data; iwlagn_tx_agg_stop() local
520 tid_data = &priv->tid_data[sta_id][tid]; iwlagn_tx_agg_stop()
521 txq_id = tid_data->agg.txq_id; iwlagn_tx_agg_stop()
523 switch (tid_data->agg.state) { iwlagn_tx_agg_stop()
545 sta_id, tid, tid_data->agg.state); iwlagn_tx_agg_stop()
550 tid_data->agg.ssn = IEEE80211_SEQ_TO_SN(tid_data->seq_number); iwlagn_tx_agg_stop()
557 } else if (tid_data->agg.ssn != tid_data->next_reclaimed) { iwlagn_tx_agg_stop()
560 tid_data->agg.ssn, iwlagn_tx_agg_stop()
561 tid_data->next_reclaimed); iwlagn_tx_agg_stop()
562 tid_data->agg.state = IWL_EMPTYING_HW_QUEUE_DELBA; iwlagn_tx_agg_stop()
568 tid_data->agg.ssn); iwlagn_tx_agg_stop()
570 agg_state = tid_data->agg.state; iwlagn_tx_agg_stop()
571 tid_data->agg.state = IWL_AGG_OFF; iwlagn_tx_agg_stop()
599 struct iwl_tid_data *tid_data; iwlagn_tx_agg_start() local
613 if (priv->tid_data[sta_id][tid].agg.state != IWL_AGG_OFF) { iwlagn_tx_agg_start()
631 tid_data = &priv->tid_data[sta_id][tid]; iwlagn_tx_agg_start()
632 tid_data->agg.ssn = IEEE80211_SEQ_TO_SN(tid_data->seq_number); iwlagn_tx_agg_start()
633 tid_data->agg.txq_id = txq_id; iwlagn_tx_agg_start()
635 *ssn = tid_data->agg.ssn; iwlagn_tx_agg_start()
637 if (*ssn == tid_data->next_reclaimed) { iwlagn_tx_agg_start()
639 tid_data->agg.ssn); iwlagn_tx_agg_start()
640 tid_data->agg.state = IWL_AGG_STARTING; iwlagn_tx_agg_start()
645 tid_data->agg.ssn, iwlagn_tx_agg_start()
646 tid_data->next_reclaimed); iwlagn_tx_agg_start()
647 tid_data->agg.state = IWL_EMPTYING_HW_QUEUE_ADDBA; iwlagn_tx_agg_start()
657 struct iwl_tid_data *tid_data; iwlagn_tx_agg_flush() local
668 tid_data = &priv->tid_data[sta_id][tid]; iwlagn_tx_agg_flush()
669 txq_id = tid_data->agg.txq_id; iwlagn_tx_agg_flush()
670 agg_state = tid_data->agg.state; iwlagn_tx_agg_flush()
672 sta_id, tid, txq_id, tid_data->agg.state); iwlagn_tx_agg_flush()
674 tid_data->agg.state = IWL_AGG_OFF; iwlagn_tx_agg_flush()
710 ssn = priv->tid_data[sta_priv->sta_id][tid].agg.ssn; iwlagn_tx_agg_oper()
711 q = priv->tid_data[sta_priv->sta_id][tid].agg.txq_id; iwlagn_tx_agg_oper()
712 priv->tid_data[sta_priv->sta_id][tid].agg.state = IWL_AGG_ON; iwlagn_tx_agg_oper()
765 struct iwl_tid_data *tid_data = &priv->tid_data[sta_id][tid]; iwlagn_check_ratid_empty() local
776 switch (priv->tid_data[sta_id][tid].agg.state) { iwlagn_check_ratid_empty()
779 if (tid_data->agg.ssn == tid_data->next_reclaimed) { iwlagn_check_ratid_empty()
782 tid_data->next_reclaimed); iwlagn_check_ratid_empty()
784 tid_data->agg.txq_id, true); iwlagn_check_ratid_empty()
785 iwlagn_dealloc_agg_txq(priv, tid_data->agg.txq_id); iwlagn_check_ratid_empty()
786 tid_data->agg.state = IWL_AGG_OFF; iwlagn_check_ratid_empty()
792 if (tid_data->agg.ssn == tid_data->next_reclaimed) { iwlagn_check_ratid_empty()
795 tid_data->next_reclaimed); iwlagn_check_ratid_empty()
796 tid_data->agg.state = IWL_AGG_STARTING; iwlagn_check_ratid_empty()
948 struct iwl_ht_agg *agg = &priv->tid_data[sta_id][tid].agg; iwl_rx_reply_tx_agg()
1161 if (txq_id != priv->tid_data[sta_id][tid].agg.txq_id) iwlagn_rx_reply_tx()
1163 priv->tid_data[sta_id][tid].agg.txq_id); iwlagn_rx_reply_tx()
1189 priv->tid_data[sta_id][tid].next_reclaimed = iwlagn_rx_reply_tx()
1249 priv->tid_data[sta_id][tid].next_reclaimed = iwlagn_rx_reply_tx()
1314 agg = &priv->tid_data[sta_id][tid].agg; iwlagn_rx_reply_compressed_ba()
1374 priv->tid_data[sta_id][tid].next_reclaimed = ba_resp_scd_ssn; iwlagn_rx_reply_compressed_ba()
H A Ddebugfs.c232 struct iwl_tid_data *tid_data; iwl_dbgfs_stations_read() local
259 tid_data = &priv->tid_data[i][j]; iwl_dbgfs_stations_read()
263 j, tid_data->seq_number, iwl_dbgfs_stations_read()
264 tid_data->next_reclaimed, iwl_dbgfs_stations_read()
265 tid_data->agg.rate_n_flags, iwl_dbgfs_stations_read()
266 tid_data->agg.state, iwl_dbgfs_stations_read()
267 tid_data->agg.txq_id); iwl_dbgfs_stations_read()
269 if (tid_data->agg.wait_for_ba) iwl_dbgfs_stations_read()
H A Dsta.c548 memset(&priv->tid_data[sta_id][tid], 0, iwl_remove_station()
549 sizeof(priv->tid_data[sta_id][tid])); iwl_remove_station()
588 memset(&priv->tid_data[sta_id][tid], 0, iwl_deactivate_station()
589 sizeof(priv->tid_data[sta_id][tid])); iwl_deactivate_station()
H A Drs.c2241 struct iwl_tid_data *tid_data; rs_rate_scale_perform() local
2258 tid_data = &priv->tid_data[lq_sta->lq.sta_id][tid]; rs_rate_scale_perform()
2259 if (tid_data->agg.state == IWL_AGG_OFF) rs_rate_scale_perform()
2630 tid_data = &priv->tid_data[sta_id][tid]; rs_rate_scale_perform()
2631 if (tid_data->agg.state == IWL_AGG_OFF) { rs_rate_scale_perform()
H A Ddev.h765 struct iwl_tid_data tid_data[IWLAGN_STATION_COUNT][IWL_MAX_TID_COUNT]; member in struct:iwl_priv
H A Dlib.c1124 seq = priv->tid_data[IWL_AP_ID][i].seq_number; iwlagn_suspend()
/linux-4.1.27/drivers/net/wireless/iwlwifi/mvm/
H A Dsta.c306 u16 seq = mvm_sta->tid_data[i].seq_number; iwl_mvm_add_sta()
307 memset(&mvm_sta->tid_data[i], 0, sizeof(mvm_sta->tid_data[i])); iwl_mvm_add_sta()
308 mvm_sta->tid_data[i].seq_number = seq; iwl_mvm_add_sta()
919 struct iwl_mvm_tid_data *tid_data; iwl_mvm_sta_tx_agg_start() local
925 if (mvmsta->tid_data[tid].state != IWL_AGG_OFF) { iwl_mvm_sta_tx_agg_start()
927 mvmsta->tid_data[tid].state); iwl_mvm_sta_tx_agg_start()
956 tid_data = &mvmsta->tid_data[tid]; iwl_mvm_sta_tx_agg_start()
957 tid_data->ssn = IEEE80211_SEQ_TO_SN(tid_data->seq_number); iwl_mvm_sta_tx_agg_start()
958 tid_data->txq_id = txq_id; iwl_mvm_sta_tx_agg_start()
959 *ssn = tid_data->ssn; iwl_mvm_sta_tx_agg_start()
963 mvmsta->sta_id, tid, txq_id, tid_data->ssn, iwl_mvm_sta_tx_agg_start()
964 tid_data->next_reclaimed); iwl_mvm_sta_tx_agg_start()
966 if (tid_data->ssn == tid_data->next_reclaimed) { iwl_mvm_sta_tx_agg_start()
967 tid_data->state = IWL_AGG_STARTING; iwl_mvm_sta_tx_agg_start()
970 tid_data->state = IWL_EMPTYING_HW_QUEUE_ADDBA; iwl_mvm_sta_tx_agg_start()
982 struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid]; iwl_mvm_sta_tx_agg_oper() local
994 ssn = tid_data->ssn; iwl_mvm_sta_tx_agg_oper()
995 queue = tid_data->txq_id; iwl_mvm_sta_tx_agg_oper()
996 tid_data->state = IWL_AGG_ON; iwl_mvm_sta_tx_agg_oper()
998 tid_data->ssn = 0xffff; iwl_mvm_sta_tx_agg_oper()
1031 struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid]; iwl_mvm_sta_tx_agg_stop() local
1047 txq_id = tid_data->txq_id; iwl_mvm_sta_tx_agg_stop()
1050 mvmsta->sta_id, tid, txq_id, tid_data->state); iwl_mvm_sta_tx_agg_stop()
1054 switch (tid_data->state) { iwl_mvm_sta_tx_agg_stop()
1056 tid_data->ssn = IEEE80211_SEQ_TO_SN(tid_data->seq_number); iwl_mvm_sta_tx_agg_stop()
1060 tid_data->ssn, tid_data->next_reclaimed); iwl_mvm_sta_tx_agg_stop()
1063 if (tid_data->ssn != tid_data->next_reclaimed) { iwl_mvm_sta_tx_agg_stop()
1064 tid_data->state = IWL_EMPTYING_HW_QUEUE_DELBA; iwl_mvm_sta_tx_agg_stop()
1069 tid_data->ssn = 0xffff; iwl_mvm_sta_tx_agg_stop()
1070 tid_data->state = IWL_AGG_OFF; iwl_mvm_sta_tx_agg_stop()
1092 tid_data->state = IWL_AGG_OFF; iwl_mvm_sta_tx_agg_stop()
1098 mvmsta->sta_id, tid, tid_data->state); iwl_mvm_sta_tx_agg_stop()
1100 "\ttid_data->txq_id = %d\n", tid_data->txq_id); iwl_mvm_sta_tx_agg_stop()
1113 struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid]; iwl_mvm_sta_tx_agg_flush() local
1122 txq_id = tid_data->txq_id; iwl_mvm_sta_tx_agg_flush()
1124 mvmsta->sta_id, tid, txq_id, tid_data->state); iwl_mvm_sta_tx_agg_flush()
1125 old_state = tid_data->state; iwl_mvm_sta_tx_agg_flush()
1126 tid_data->state = IWL_AGG_OFF; iwl_mvm_sta_tx_agg_flush()
1140 iwl_mvm_disable_txq(mvm, tid_data->txq_id, 0); iwl_mvm_sta_tx_agg_flush()
1143 mvm->queue_to_mac80211[tid_data->txq_id] = iwl_mvm_sta_tx_agg_flush()
1617 struct iwl_mvm_tid_data *tid_data; iwl_mvm_sta_modify_sleep_tx_count() local
1620 tid_data = &mvmsta->tid_data[tid]; iwl_mvm_sta_modify_sleep_tx_count()
1621 if (WARN(tid_data->state != IWL_AGG_ON && iwl_mvm_sta_modify_sleep_tx_count()
1622 tid_data->state != IWL_EMPTYING_HW_QUEUE_DELBA, iwl_mvm_sta_modify_sleep_tx_count()
1624 tid, tid_data->state)) { iwl_mvm_sta_modify_sleep_tx_count()
1630 n_queued = iwl_mvm_tid_queued(tid_data); iwl_mvm_sta_modify_sleep_tx_count()
H A Dtx.c434 seq_number = mvmsta->tid_data[tid].seq_number; iwl_mvm_tx_skb()
455 if (WARN_ON_ONCE(mvmsta->tid_data[tid].state != IWL_AGG_ON)) iwl_mvm_tx_skb()
457 txq_id = mvmsta->tid_data[tid].txq_id; iwl_mvm_tx_skb()
467 mvmsta->tid_data[tid].seq_number = seq_number + 0x10; iwl_mvm_tx_skb()
487 struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid]; iwl_mvm_check_ratid_empty() local
492 if ((tid_data->state == IWL_AGG_ON || iwl_mvm_check_ratid_empty()
493 tid_data->state == IWL_EMPTYING_HW_QUEUE_DELBA) && iwl_mvm_check_ratid_empty()
494 iwl_mvm_tid_queued(tid_data) == 0) { iwl_mvm_check_ratid_empty()
503 if (tid_data->ssn != tid_data->next_reclaimed) iwl_mvm_check_ratid_empty()
506 switch (tid_data->state) { iwl_mvm_check_ratid_empty()
510 tid_data->next_reclaimed); iwl_mvm_check_ratid_empty()
511 tid_data->state = IWL_AGG_STARTING; iwl_mvm_check_ratid_empty()
518 tid_data->next_reclaimed); iwl_mvm_check_ratid_empty()
519 iwl_mvm_disable_txq(mvm, tid_data->txq_id, CMD_ASYNC); iwl_mvm_check_ratid_empty()
520 tid_data->state = IWL_AGG_OFF; iwl_mvm_check_ratid_empty()
526 mvm->queue_to_mac80211[tid_data->txq_id] = iwl_mvm_check_ratid_empty()
749 struct iwl_mvm_tid_data *tid_data = iwl_mvm_rx_tx_cmd_single() local
750 &mvmsta->tid_data[tid]; iwl_mvm_rx_tx_cmd_single()
753 tid_data->next_reclaimed = next_reclaimed; iwl_mvm_rx_tx_cmd_single()
886 mvmsta->tid_data[tid].rate_n_flags = iwl_mvm_rx_tx_cmd_agg()
888 mvmsta->tid_data[tid].reduced_tpc = tx_resp->reduced_tpc; iwl_mvm_rx_tx_cmd_agg()
889 mvmsta->tid_data[tid].tx_time = iwl_mvm_rx_tx_cmd_agg()
912 struct iwl_mvm_tid_data *tid_data) iwl_mvm_tx_info_from_ba_notif()
917 iwl_mvm_hwrate_to_tx_status(tid_data->rate_n_flags, iwl_mvm_tx_info_from_ba_notif()
920 info->status.tx_time = tid_data->tx_time; iwl_mvm_tx_info_from_ba_notif()
922 (void *)(uintptr_t)tid_data->reduced_tpc; iwl_mvm_tx_info_from_ba_notif()
924 (void *)(uintptr_t)tid_data->rate_n_flags; iwl_mvm_tx_info_from_ba_notif()
933 struct iwl_mvm_tid_data *tid_data; iwl_mvm_rx_ba_notif() local
963 tid_data = &mvmsta->tid_data[tid]; iwl_mvm_rx_ba_notif()
965 if (tid_data->txq_id != scd_flow) { iwl_mvm_rx_ba_notif()
968 tid_data->txq_id, tid, scd_flow); iwl_mvm_rx_ba_notif()
996 tid_data->next_reclaimed = ba_resp_scd_ssn; iwl_mvm_rx_ba_notif()
1023 iwl_mvm_tx_info_from_ba_notif(info, ba_notif, tid_data); iwl_mvm_rx_ba_notif()
1044 iwl_mvm_tx_info_from_ba_notif(&ba_info, ba_notif, tid_data); iwl_mvm_rx_ba_notif()
910 iwl_mvm_tx_info_from_ba_notif(struct ieee80211_tx_info *info, struct iwl_mvm_ba_notif *ba_notif, struct iwl_mvm_tid_data *tid_data) iwl_mvm_tx_info_from_ba_notif() argument
H A Dsta.h281 static inline u16 iwl_mvm_tid_queued(struct iwl_mvm_tid_data *tid_data) iwl_mvm_tid_queued() argument
283 return ieee80211_sn_sub(IEEE80211_SEQ_TO_SN(tid_data->seq_number), iwl_mvm_tid_queued()
284 tid_data->next_reclaimed); iwl_mvm_tid_queued()
299 * @lock: lock to protect the whole struct. Since %tid_data is access from Tx
301 * @tid_data: per tid data. Look at %iwl_mvm_tid_data.
322 struct iwl_mvm_tid_data tid_data[IWL_MAX_TID_COUNT]; member in struct:iwl_mvm_sta
H A Dops.c996 struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid]; iwl_mvm_disallow_offloading() local
1003 if (iwl_mvm_tid_queued(tid_data)) iwl_mvm_disallow_offloading()
1006 if (tid_data->state != IWL_AGG_OFF) iwl_mvm_disallow_offloading()
1211 mvm_ap_sta->tid_data[i].seq_number = seq; iwl_mvm_d0i3_enable_tx()
H A Doffloading.c80 u16 seq = mvm_ap_sta->tid_data[i].seq_number; iwl_mvm_set_wowlan_qos_seq()
H A Drs.c2112 struct iwl_mvm_tid_data *tid_data; rs_rate_scale_perform() local
2378 tid_data = &sta_priv->tid_data[tid]; rs_rate_scale_perform()
2379 if (tid_data->state != IWL_AGG_OFF) { rs_rate_scale_perform()
2394 tid_data = &sta_priv->tid_data[tid]; rs_rate_scale_perform()
2395 if (tid_data->state == IWL_AGG_OFF) { rs_rate_scale_perform()
H A Dmac80211.c2529 struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid]; iwl_mvm_mac_sta_notify() local
2531 if (tid_data->state != IWL_AGG_ON && iwl_mvm_mac_sta_notify()
2532 tid_data->state != IWL_EMPTYING_HW_QUEUE_DELBA) iwl_mvm_mac_sta_notify()
2535 __set_bit(tid_data->txq_id, &txqs); iwl_mvm_mac_sta_notify()
2537 if (iwl_mvm_tid_queued(tid_data) == 0) iwl_mvm_mac_sta_notify()
H A Dd3.c1669 mvm_ap_sta->tid_data[i].seq_number = seq; iwl_mvm_query_wakeup_reasons()
/linux-4.1.27/drivers/net/wireless/rtlwifi/
H A Dbase.c1257 struct rtl_tid_data *tid_data; rtl_action_proc() local
1280 tid_data = &sta_entry->tids[tid]; rtl_action_proc()
1281 if (tid_data->agg.rx_agg_state == rtl_action_proc()
1414 struct rtl_tid_data *tid_data; rtl_tx_agg_start() local
1426 tid_data = &sta_entry->tids[tid]; rtl_tx_agg_start()
1430 tid_data->seq_number); rtl_tx_agg_start()
1432 *ssn = tid_data->seq_number; rtl_tx_agg_start()
1433 tid_data->agg.agg_state = RTL_AGG_START; rtl_tx_agg_start()
1443 struct rtl_tid_data *tid_data; rtl_tx_agg_stop() local
1456 tid_data = &sta_entry->tids[tid]; rtl_tx_agg_stop()
1467 struct rtl_tid_data *tid_data; rtl_rx_agg_start() local
1479 tid_data = &sta_entry->tids[tid]; rtl_rx_agg_start()
1483 tid_data->seq_number); rtl_rx_agg_start()
1485 tid_data->agg.rx_agg_state = RTL_RX_AGG_START; rtl_rx_agg_start()
/linux-4.1.27/drivers/net/wireless/iwlegacy/
H A D4965-mac.c2241 struct il_tid_data *tid_data; il4965_tx_agg_start() local
2270 tid_data = &il->stations[sta_id].tid[tid]; il4965_tx_agg_start()
2271 *ssn = IEEE80211_SEQ_TO_SN(tid_data->seq_number); il4965_tx_agg_start()
2272 tid_data->agg.txq_id = txq_id; il4965_tx_agg_start()
2281 tid_data = &il->stations[sta_id].tid[tid]; il4965_tx_agg_start()
2282 if (tid_data->tfds_in_queue == 0) { il4965_tx_agg_start()
2284 tid_data->agg.state = IL_AGG_ON; il4965_tx_agg_start()
2288 tid_data->tfds_in_queue); il4965_tx_agg_start()
2289 tid_data->agg.state = IL_EMPTYING_HW_QUEUE_ADDBA; il4965_tx_agg_start()
2333 struct il_tid_data *tid_data; il4965_tx_agg_stop() local
2351 tid_data = &il->stations[sta_id].tid[tid]; il4965_tx_agg_stop()
2352 ssn = (tid_data->seq_number & IEEE80211_SCTL_SEQ) >> 4; il4965_tx_agg_stop()
2353 txq_id = tid_data->agg.txq_id; il4965_tx_agg_stop()
2411 struct il_tid_data *tid_data = &il->stations[sta_id].tid[tid]; il4965_txq_check_empty() local
2419 if (txq_id == tid_data->agg.txq_id && il4965_txq_check_empty()
2421 u16 ssn = IEEE80211_SEQ_TO_SN(tid_data->seq_number); il4965_txq_check_empty()
2425 tid_data->agg.state = IL_AGG_OFF; il4965_txq_check_empty()
2431 if (tid_data->tfds_in_queue == 0) { il4965_txq_check_empty()
2433 tid_data->agg.state = IL_AGG_ON; il4965_txq_check_empty()
H A D4965-rs.c1768 struct il_tid_data *tid_data; il4965_rs_rate_scale_perform() local
1782 tid_data = &il->stations[lq_sta->lq.sta_id].tid[tid]; il4965_rs_rate_scale_perform()
1783 if (tid_data->agg.state == IL_AGG_OFF) il4965_rs_rate_scale_perform()
2112 tid_data = il4965_rs_rate_scale_perform()
2114 if (tid_data->agg.state == IL_AGG_OFF) { il4965_rs_rate_scale_perform()

Completed in 552 milliseconds