Loading drivers/net/wireless/iwlwifi/iwl-3945-rs.c +12 −8 Original line number Diff line number Diff line Loading @@ -65,6 +65,9 @@ struct iwl3945_rs_sta { u8 ibss_sta_added; struct timer_list rate_scale_flush; struct iwl3945_rate_scale_data win[IWL_RATE_COUNT]; /* used to be in sta_info */ int last_txrate_idx; }; static s32 iwl3945_expected_tpt_g[IWL_RATE_COUNT] = { Loading Loading @@ -319,6 +322,7 @@ static void iwl3945_collect_tx_data(struct iwl3945_rs_sta *rs_sta, static void rs_rate_init(void *priv_rate, void *priv_sta, struct ieee80211_local *local, struct sta_info *sta) { struct iwl3945_rs_sta *rs_sta = (void *)sta->rate_ctrl_priv; int i; IWL_DEBUG_RATE("enter\n"); Loading @@ -335,11 +339,11 @@ static void rs_rate_init(void *priv_rate, void *priv_sta, } } sta->last_txrate_idx = sta->txrate_idx; rs_sta->last_txrate_idx = sta->txrate_idx; /* For 5 GHz band it start at IWL_FIRST_OFDM_RATE */ if (local->hw.conf.channel->band == IEEE80211_BAND_5GHZ) sta->last_txrate_idx += IWL_FIRST_OFDM_RATE; rs_sta->last_txrate_idx += IWL_FIRST_OFDM_RATE; IWL_DEBUG_RATE("leave\n"); } Loading Loading @@ -674,14 +678,14 @@ static void rs_get_rate(void *priv_rate, struct net_device *dev, return; } rs_sta = (void *)sta->rate_ctrl_priv; rate_mask = sta->supp_rates[sband->band]; index = min(sta->last_txrate_idx & 0xffff, IWL_RATE_COUNT - 1); index = min(rs_sta->last_txrate_idx & 0xffff, IWL_RATE_COUNT - 1); if (sband->band == IEEE80211_BAND_5GHZ) rate_mask = rate_mask << IWL_FIRST_OFDM_RATE; rs_sta = (void *)sta->rate_ctrl_priv; if ((priv->iw_mode == NL80211_IFTYPE_ADHOC) && !rs_sta->ibss_sta_added) { u8 sta_id = iwl3945_hw_find_station(priv, hdr->addr1); Loading Loading @@ -803,11 +807,11 @@ static void rs_get_rate(void *priv_rate, struct net_device *dev, out: sta->last_txrate_idx = index; rs_sta->last_txrate_idx = index; if (sband->band == IEEE80211_BAND_5GHZ) sta->txrate_idx = sta->last_txrate_idx - IWL_FIRST_OFDM_RATE; sta->txrate_idx = rs_sta->last_txrate_idx - IWL_FIRST_OFDM_RATE; else sta->txrate_idx = sta->last_txrate_idx; sta->txrate_idx = rs_sta->last_txrate_idx; rcu_read_unlock(); Loading drivers/net/wireless/iwlwifi/iwl-agn-rs.c +9 −6 Original line number Diff line number Diff line Loading @@ -163,6 +163,9 @@ struct iwl_lq_sta { u32 dbg_fixed_rate; #endif struct iwl_priv *drv; /* used to be in sta_info */ int last_txrate_idx; }; static void rs_rate_scale_perform(struct iwl_priv *priv, Loading Loading @@ -1746,7 +1749,7 @@ static void rs_rate_scale_perform(struct iwl_priv *priv, is_green = lq_sta->is_green; /* current tx rate */ index = sta->last_txrate_idx; index = lq_sta->last_txrate_idx; IWL_DEBUG_RATE("Rate scale index %d for type %d\n", index, tbl->lq_type); Loading Loading @@ -2059,7 +2062,7 @@ static void rs_rate_scale_perform(struct iwl_priv *priv, out: tbl->current_rate = rate_n_flags_from_tbl(tbl, index, is_green); i = index; sta->last_txrate_idx = i; lq_sta->last_txrate_idx = i; /* sta->txrate_idx is an index to A mode rates which start * at IWL_FIRST_OFDM_RATE Loading Loading @@ -2090,7 +2093,7 @@ static void rs_initialize_lq(struct iwl_priv *priv, goto out; lq_sta = (struct iwl_lq_sta *)sta->rate_ctrl_priv; i = sta->last_txrate_idx; i = lq_sta->last_txrate_idx; if ((lq_sta->lq.sta_id == 0xff) && (priv->iw_mode == NL80211_IFTYPE_ADHOC)) Loading Loading @@ -2161,7 +2164,7 @@ static void rs_get_rate(void *priv_rate, struct net_device *dev, } lq_sta = (struct iwl_lq_sta *)sta->rate_ctrl_priv; i = sta->last_txrate_idx; i = lq_sta->last_txrate_idx; if ((priv->iw_mode == NL80211_IFTYPE_ADHOC) && !lq_sta->ibss_sta_added) { Loading Loading @@ -2270,10 +2273,10 @@ static void rs_rate_init(void *priv_rate, void *priv_sta, if (sta->supp_rates[sband->band] & BIT(i)) sta->txrate_idx = i; sta->last_txrate_idx = sta->txrate_idx; lq_sta->last_txrate_idx = sta->txrate_idx; /* For MODE_IEEE80211A, skip over cck rates in global rate table */ if (local->hw.conf.channel->band == IEEE80211_BAND_5GHZ) sta->last_txrate_idx += IWL_FIRST_OFDM_RATE; lq_sta->last_txrate_idx += IWL_FIRST_OFDM_RATE; lq_sta->is_dup = 0; lq_sta->is_green = rs_use_green(priv, conf); Loading net/mac80211/rc80211_pid_algo.c +0 −2 Original line number Diff line number Diff line Loading @@ -329,8 +329,6 @@ static void rate_control_pid_get_rate(void *priv, struct net_device *dev, if (rateidx >= sband->n_bitrates) rateidx = sband->n_bitrates - 1; sta->last_txrate_idx = rateidx; rcu_read_unlock(); sel->rate_idx = rateidx; Loading net/mac80211/sta_info.h +0 −2 Original line number Diff line number Diff line Loading @@ -200,7 +200,6 @@ struct sta_ampdu_mlme { * @tx_bytes: TBD * @tx_fragments: number of transmitted MPDUs * @txrate_idx: TBD * @last_txrate_idx: TBD * @tid_seq: TBD * @wme_tx_queue: TBD * @ampdu_mlme: TBD Loading Loading @@ -278,7 +277,6 @@ struct sta_info { unsigned long tx_bytes; unsigned long tx_fragments; int txrate_idx; int last_txrate_idx; u16 tid_seq[IEEE80211_QOS_CTL_TID_MASK + 1]; #ifdef CONFIG_MAC80211_DEBUG_COUNTERS unsigned int wme_tx_queue[NUM_RX_DATA_QUEUES]; Loading Loading
drivers/net/wireless/iwlwifi/iwl-3945-rs.c +12 −8 Original line number Diff line number Diff line Loading @@ -65,6 +65,9 @@ struct iwl3945_rs_sta { u8 ibss_sta_added; struct timer_list rate_scale_flush; struct iwl3945_rate_scale_data win[IWL_RATE_COUNT]; /* used to be in sta_info */ int last_txrate_idx; }; static s32 iwl3945_expected_tpt_g[IWL_RATE_COUNT] = { Loading Loading @@ -319,6 +322,7 @@ static void iwl3945_collect_tx_data(struct iwl3945_rs_sta *rs_sta, static void rs_rate_init(void *priv_rate, void *priv_sta, struct ieee80211_local *local, struct sta_info *sta) { struct iwl3945_rs_sta *rs_sta = (void *)sta->rate_ctrl_priv; int i; IWL_DEBUG_RATE("enter\n"); Loading @@ -335,11 +339,11 @@ static void rs_rate_init(void *priv_rate, void *priv_sta, } } sta->last_txrate_idx = sta->txrate_idx; rs_sta->last_txrate_idx = sta->txrate_idx; /* For 5 GHz band it start at IWL_FIRST_OFDM_RATE */ if (local->hw.conf.channel->band == IEEE80211_BAND_5GHZ) sta->last_txrate_idx += IWL_FIRST_OFDM_RATE; rs_sta->last_txrate_idx += IWL_FIRST_OFDM_RATE; IWL_DEBUG_RATE("leave\n"); } Loading Loading @@ -674,14 +678,14 @@ static void rs_get_rate(void *priv_rate, struct net_device *dev, return; } rs_sta = (void *)sta->rate_ctrl_priv; rate_mask = sta->supp_rates[sband->band]; index = min(sta->last_txrate_idx & 0xffff, IWL_RATE_COUNT - 1); index = min(rs_sta->last_txrate_idx & 0xffff, IWL_RATE_COUNT - 1); if (sband->band == IEEE80211_BAND_5GHZ) rate_mask = rate_mask << IWL_FIRST_OFDM_RATE; rs_sta = (void *)sta->rate_ctrl_priv; if ((priv->iw_mode == NL80211_IFTYPE_ADHOC) && !rs_sta->ibss_sta_added) { u8 sta_id = iwl3945_hw_find_station(priv, hdr->addr1); Loading Loading @@ -803,11 +807,11 @@ static void rs_get_rate(void *priv_rate, struct net_device *dev, out: sta->last_txrate_idx = index; rs_sta->last_txrate_idx = index; if (sband->band == IEEE80211_BAND_5GHZ) sta->txrate_idx = sta->last_txrate_idx - IWL_FIRST_OFDM_RATE; sta->txrate_idx = rs_sta->last_txrate_idx - IWL_FIRST_OFDM_RATE; else sta->txrate_idx = sta->last_txrate_idx; sta->txrate_idx = rs_sta->last_txrate_idx; rcu_read_unlock(); Loading
drivers/net/wireless/iwlwifi/iwl-agn-rs.c +9 −6 Original line number Diff line number Diff line Loading @@ -163,6 +163,9 @@ struct iwl_lq_sta { u32 dbg_fixed_rate; #endif struct iwl_priv *drv; /* used to be in sta_info */ int last_txrate_idx; }; static void rs_rate_scale_perform(struct iwl_priv *priv, Loading Loading @@ -1746,7 +1749,7 @@ static void rs_rate_scale_perform(struct iwl_priv *priv, is_green = lq_sta->is_green; /* current tx rate */ index = sta->last_txrate_idx; index = lq_sta->last_txrate_idx; IWL_DEBUG_RATE("Rate scale index %d for type %d\n", index, tbl->lq_type); Loading Loading @@ -2059,7 +2062,7 @@ static void rs_rate_scale_perform(struct iwl_priv *priv, out: tbl->current_rate = rate_n_flags_from_tbl(tbl, index, is_green); i = index; sta->last_txrate_idx = i; lq_sta->last_txrate_idx = i; /* sta->txrate_idx is an index to A mode rates which start * at IWL_FIRST_OFDM_RATE Loading Loading @@ -2090,7 +2093,7 @@ static void rs_initialize_lq(struct iwl_priv *priv, goto out; lq_sta = (struct iwl_lq_sta *)sta->rate_ctrl_priv; i = sta->last_txrate_idx; i = lq_sta->last_txrate_idx; if ((lq_sta->lq.sta_id == 0xff) && (priv->iw_mode == NL80211_IFTYPE_ADHOC)) Loading Loading @@ -2161,7 +2164,7 @@ static void rs_get_rate(void *priv_rate, struct net_device *dev, } lq_sta = (struct iwl_lq_sta *)sta->rate_ctrl_priv; i = sta->last_txrate_idx; i = lq_sta->last_txrate_idx; if ((priv->iw_mode == NL80211_IFTYPE_ADHOC) && !lq_sta->ibss_sta_added) { Loading Loading @@ -2270,10 +2273,10 @@ static void rs_rate_init(void *priv_rate, void *priv_sta, if (sta->supp_rates[sband->band] & BIT(i)) sta->txrate_idx = i; sta->last_txrate_idx = sta->txrate_idx; lq_sta->last_txrate_idx = sta->txrate_idx; /* For MODE_IEEE80211A, skip over cck rates in global rate table */ if (local->hw.conf.channel->band == IEEE80211_BAND_5GHZ) sta->last_txrate_idx += IWL_FIRST_OFDM_RATE; lq_sta->last_txrate_idx += IWL_FIRST_OFDM_RATE; lq_sta->is_dup = 0; lq_sta->is_green = rs_use_green(priv, conf); Loading
net/mac80211/rc80211_pid_algo.c +0 −2 Original line number Diff line number Diff line Loading @@ -329,8 +329,6 @@ static void rate_control_pid_get_rate(void *priv, struct net_device *dev, if (rateidx >= sband->n_bitrates) rateidx = sband->n_bitrates - 1; sta->last_txrate_idx = rateidx; rcu_read_unlock(); sel->rate_idx = rateidx; Loading
net/mac80211/sta_info.h +0 −2 Original line number Diff line number Diff line Loading @@ -200,7 +200,6 @@ struct sta_ampdu_mlme { * @tx_bytes: TBD * @tx_fragments: number of transmitted MPDUs * @txrate_idx: TBD * @last_txrate_idx: TBD * @tid_seq: TBD * @wme_tx_queue: TBD * @ampdu_mlme: TBD Loading Loading @@ -278,7 +277,6 @@ struct sta_info { unsigned long tx_bytes; unsigned long tx_fragments; int txrate_idx; int last_txrate_idx; u16 tid_seq[IEEE80211_QOS_CTL_TID_MASK + 1]; #ifdef CONFIG_MAC80211_DEBUG_COUNTERS unsigned int wme_tx_queue[NUM_RX_DATA_QUEUES]; Loading