mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
mac80211: move sta_set_rate_info_rx() and make it static
There's only a single caller of this function, so it can be moved to the same file and made static. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
a732fa7001
commit
fbd6ff5cea
3 changed files with 39 additions and 41 deletions
|
@ -469,45 +469,6 @@ void sta_set_rate_info_tx(struct sta_info *sta,
|
|||
rinfo->flags |= RATE_INFO_FLAGS_SHORT_GI;
|
||||
}
|
||||
|
||||
void sta_set_rate_info_rx(struct sta_info *sta, struct rate_info *rinfo)
|
||||
{
|
||||
rinfo->flags = 0;
|
||||
|
||||
if (sta->last_rx_rate_flag & RX_FLAG_HT) {
|
||||
rinfo->flags |= RATE_INFO_FLAGS_MCS;
|
||||
rinfo->mcs = sta->last_rx_rate_idx;
|
||||
} else if (sta->last_rx_rate_flag & RX_FLAG_VHT) {
|
||||
rinfo->flags |= RATE_INFO_FLAGS_VHT_MCS;
|
||||
rinfo->nss = sta->last_rx_rate_vht_nss;
|
||||
rinfo->mcs = sta->last_rx_rate_idx;
|
||||
} else {
|
||||
struct ieee80211_supported_band *sband;
|
||||
int shift = ieee80211_vif_get_shift(&sta->sdata->vif);
|
||||
u16 brate;
|
||||
|
||||
sband = sta->local->hw.wiphy->bands[
|
||||
ieee80211_get_sdata_band(sta->sdata)];
|
||||
brate = sband->bitrates[sta->last_rx_rate_idx].bitrate;
|
||||
rinfo->legacy = DIV_ROUND_UP(brate, 1 << shift);
|
||||
}
|
||||
|
||||
if (sta->last_rx_rate_flag & RX_FLAG_SHORT_GI)
|
||||
rinfo->flags |= RATE_INFO_FLAGS_SHORT_GI;
|
||||
|
||||
if (sta->last_rx_rate_flag & RX_FLAG_5MHZ)
|
||||
rinfo->bw = RATE_INFO_BW_5;
|
||||
else if (sta->last_rx_rate_flag & RX_FLAG_10MHZ)
|
||||
rinfo->bw = RATE_INFO_BW_10;
|
||||
else if (sta->last_rx_rate_flag & RX_FLAG_40MHZ)
|
||||
rinfo->bw = RATE_INFO_BW_40;
|
||||
else if (sta->last_rx_rate_vht_flag & RX_VHT_FLAG_80MHZ)
|
||||
rinfo->bw = RATE_INFO_BW_80;
|
||||
else if (sta->last_rx_rate_vht_flag & RX_VHT_FLAG_160MHZ)
|
||||
rinfo->bw = RATE_INFO_BW_160;
|
||||
else
|
||||
rinfo->bw = RATE_INFO_BW_20;
|
||||
}
|
||||
|
||||
static int ieee80211_dump_station(struct wiphy *wiphy, struct net_device *dev,
|
||||
int idx, u8 *mac, struct station_info *sinfo)
|
||||
{
|
||||
|
|
|
@ -1806,6 +1806,45 @@ u8 sta_info_tx_streams(struct sta_info *sta)
|
|||
>> IEEE80211_HT_MCS_TX_MAX_STREAMS_SHIFT) + 1;
|
||||
}
|
||||
|
||||
static void sta_set_rate_info_rx(struct sta_info *sta, struct rate_info *rinfo)
|
||||
{
|
||||
rinfo->flags = 0;
|
||||
|
||||
if (sta->last_rx_rate_flag & RX_FLAG_HT) {
|
||||
rinfo->flags |= RATE_INFO_FLAGS_MCS;
|
||||
rinfo->mcs = sta->last_rx_rate_idx;
|
||||
} else if (sta->last_rx_rate_flag & RX_FLAG_VHT) {
|
||||
rinfo->flags |= RATE_INFO_FLAGS_VHT_MCS;
|
||||
rinfo->nss = sta->last_rx_rate_vht_nss;
|
||||
rinfo->mcs = sta->last_rx_rate_idx;
|
||||
} else {
|
||||
struct ieee80211_supported_band *sband;
|
||||
int shift = ieee80211_vif_get_shift(&sta->sdata->vif);
|
||||
u16 brate;
|
||||
|
||||
sband = sta->local->hw.wiphy->bands[
|
||||
ieee80211_get_sdata_band(sta->sdata)];
|
||||
brate = sband->bitrates[sta->last_rx_rate_idx].bitrate;
|
||||
rinfo->legacy = DIV_ROUND_UP(brate, 1 << shift);
|
||||
}
|
||||
|
||||
if (sta->last_rx_rate_flag & RX_FLAG_SHORT_GI)
|
||||
rinfo->flags |= RATE_INFO_FLAGS_SHORT_GI;
|
||||
|
||||
if (sta->last_rx_rate_flag & RX_FLAG_5MHZ)
|
||||
rinfo->bw = RATE_INFO_BW_5;
|
||||
else if (sta->last_rx_rate_flag & RX_FLAG_10MHZ)
|
||||
rinfo->bw = RATE_INFO_BW_10;
|
||||
else if (sta->last_rx_rate_flag & RX_FLAG_40MHZ)
|
||||
rinfo->bw = RATE_INFO_BW_40;
|
||||
else if (sta->last_rx_rate_vht_flag & RX_VHT_FLAG_80MHZ)
|
||||
rinfo->bw = RATE_INFO_BW_80;
|
||||
else if (sta->last_rx_rate_vht_flag & RX_VHT_FLAG_160MHZ)
|
||||
rinfo->bw = RATE_INFO_BW_160;
|
||||
else
|
||||
rinfo->bw = RATE_INFO_BW_20;
|
||||
}
|
||||
|
||||
void sta_set_sinfo(struct sta_info *sta, struct station_info *sinfo)
|
||||
{
|
||||
struct ieee80211_sub_if_data *sdata = sta->sdata;
|
||||
|
|
|
@ -688,8 +688,6 @@ static inline int sta_info_flush(struct ieee80211_sub_if_data *sdata)
|
|||
void sta_set_rate_info_tx(struct sta_info *sta,
|
||||
const struct ieee80211_tx_rate *rate,
|
||||
struct rate_info *rinfo);
|
||||
void sta_set_rate_info_rx(struct sta_info *sta,
|
||||
struct rate_info *rinfo);
|
||||
void sta_set_sinfo(struct sta_info *sta, struct station_info *sinfo);
|
||||
|
||||
void ieee80211_sta_expire(struct ieee80211_sub_if_data *sdata,
|
||||
|
|
Loading…
Reference in a new issue