mac80211: mlme: move in RSSI reporting code
This code is tightly coupled to the sdata->u.mgd data structure, so there's no reason for it to be in utils. Move it to mlme.c. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
@@ -6379,3 +6379,43 @@ void ieee80211_cqm_beacon_loss_notify(struct ieee80211_vif *vif, gfp_t gfp)
|
|||||||
cfg80211_cqm_beacon_loss_notify(sdata->dev, gfp);
|
cfg80211_cqm_beacon_loss_notify(sdata->dev, gfp);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(ieee80211_cqm_beacon_loss_notify);
|
EXPORT_SYMBOL(ieee80211_cqm_beacon_loss_notify);
|
||||||
|
|
||||||
|
static void _ieee80211_enable_rssi_reports(struct ieee80211_sub_if_data *sdata,
|
||||||
|
int rssi_min_thold,
|
||||||
|
int rssi_max_thold)
|
||||||
|
{
|
||||||
|
trace_api_enable_rssi_reports(sdata, rssi_min_thold, rssi_max_thold);
|
||||||
|
|
||||||
|
if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_STATION))
|
||||||
|
return;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Scale up threshold values before storing it, as the RSSI averaging
|
||||||
|
* algorithm uses a scaled up value as well. Change this scaling
|
||||||
|
* factor if the RSSI averaging algorithm changes.
|
||||||
|
*/
|
||||||
|
sdata->u.mgd.rssi_min_thold = rssi_min_thold*16;
|
||||||
|
sdata->u.mgd.rssi_max_thold = rssi_max_thold*16;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ieee80211_enable_rssi_reports(struct ieee80211_vif *vif,
|
||||||
|
int rssi_min_thold,
|
||||||
|
int rssi_max_thold)
|
||||||
|
{
|
||||||
|
struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
|
||||||
|
|
||||||
|
WARN_ON(rssi_min_thold == rssi_max_thold ||
|
||||||
|
rssi_min_thold > rssi_max_thold);
|
||||||
|
|
||||||
|
_ieee80211_enable_rssi_reports(sdata, rssi_min_thold,
|
||||||
|
rssi_max_thold);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(ieee80211_enable_rssi_reports);
|
||||||
|
|
||||||
|
void ieee80211_disable_rssi_reports(struct ieee80211_vif *vif)
|
||||||
|
{
|
||||||
|
struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
|
||||||
|
|
||||||
|
_ieee80211_enable_rssi_reports(sdata, 0, 0);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(ieee80211_disable_rssi_reports);
|
||||||
|
|||||||
@@ -2854,46 +2854,6 @@ size_t ieee80211_ie_split_vendor(const u8 *ies, size_t ielen, size_t offset)
|
|||||||
return pos;
|
return pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void _ieee80211_enable_rssi_reports(struct ieee80211_sub_if_data *sdata,
|
|
||||||
int rssi_min_thold,
|
|
||||||
int rssi_max_thold)
|
|
||||||
{
|
|
||||||
trace_api_enable_rssi_reports(sdata, rssi_min_thold, rssi_max_thold);
|
|
||||||
|
|
||||||
if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_STATION))
|
|
||||||
return;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Scale up threshold values before storing it, as the RSSI averaging
|
|
||||||
* algorithm uses a scaled up value as well. Change this scaling
|
|
||||||
* factor if the RSSI averaging algorithm changes.
|
|
||||||
*/
|
|
||||||
sdata->u.mgd.rssi_min_thold = rssi_min_thold*16;
|
|
||||||
sdata->u.mgd.rssi_max_thold = rssi_max_thold*16;
|
|
||||||
}
|
|
||||||
|
|
||||||
void ieee80211_enable_rssi_reports(struct ieee80211_vif *vif,
|
|
||||||
int rssi_min_thold,
|
|
||||||
int rssi_max_thold)
|
|
||||||
{
|
|
||||||
struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
|
|
||||||
|
|
||||||
WARN_ON(rssi_min_thold == rssi_max_thold ||
|
|
||||||
rssi_min_thold > rssi_max_thold);
|
|
||||||
|
|
||||||
_ieee80211_enable_rssi_reports(sdata, rssi_min_thold,
|
|
||||||
rssi_max_thold);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(ieee80211_enable_rssi_reports);
|
|
||||||
|
|
||||||
void ieee80211_disable_rssi_reports(struct ieee80211_vif *vif)
|
|
||||||
{
|
|
||||||
struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
|
|
||||||
|
|
||||||
_ieee80211_enable_rssi_reports(sdata, 0, 0);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(ieee80211_disable_rssi_reports);
|
|
||||||
|
|
||||||
u8 *ieee80211_ie_build_ht_cap(u8 *pos, struct ieee80211_sta_ht_cap *ht_cap,
|
u8 *ieee80211_ie_build_ht_cap(u8 *pos, struct ieee80211_sta_ht_cap *ht_cap,
|
||||||
u16 cap)
|
u16 cap)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user