/linux-4.1.27/drivers/net/wireless/iwlwifi/dvm/ |
H A D | tx.c | 395 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 D | debugfs.c | 232 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 D | sta.c | 548 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 D | rs.c | 2241 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 D | dev.h | 765 struct iwl_tid_data tid_data[IWLAGN_STATION_COUNT][IWL_MAX_TID_COUNT]; member in struct:iwl_priv
|
H A D | lib.c | 1124 seq = priv->tid_data[IWL_AP_ID][i].seq_number; iwlagn_suspend()
|
/linux-4.1.27/drivers/net/wireless/iwlwifi/mvm/ |
H A D | sta.c | 306 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 D | tx.c | 434 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 D | sta.h | 281 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 D | ops.c | 996 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 D | offloading.c | 80 u16 seq = mvm_ap_sta->tid_data[i].seq_number; iwl_mvm_set_wowlan_qos_seq()
|
H A D | rs.c | 2112 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 D | mac80211.c | 2529 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 D | d3.c | 1669 mvm_ap_sta->tid_data[i].seq_number = seq; iwl_mvm_query_wakeup_reasons()
|
/linux-4.1.27/drivers/net/wireless/rtlwifi/ |
H A D | base.c | 1257 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 D | 4965-mac.c | 2241 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 D | 4965-rs.c | 1768 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()
|