diff options
author | Felix Fietkau <nbd@nbd.name> | 2019-12-14 22:08:59 +0300 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2020-02-14 12:06:02 +0300 |
commit | e5051965fd2b2fee3b9c332a9a9412841883decb (patch) | |
tree | 89dbb0e78913518660f6a0fc9eb5a4ad4b947f08 /drivers/net/wireless/mediatek/mt76/mac80211.c | |
parent | a25c888f3a5f1885b46455c04a20be7f6950ec95 (diff) | |
download | linux-e5051965fd2b2fee3b9c332a9a9412841883decb.tar.xz |
mt76: mt7615: measure channel noise and report it via survey
Read measurements every 100 ms and build a simple moving average
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt76/mac80211.c')
-rw-r--r-- | drivers/net/wireless/mediatek/mt76/mac80211.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mac80211.c b/drivers/net/wireless/mediatek/mt76/mac80211.c index 8cc09aa6fe61..d752fb539351 100644 --- a/drivers/net/wireless/mediatek/mt76/mac80211.c +++ b/drivers/net/wireless/mediatek/mt76/mac80211.c @@ -618,6 +618,9 @@ int mt76_get_survey(struct ieee80211_hw *hw, int idx, survey->channel = chan; survey->filled = SURVEY_INFO_TIME | SURVEY_INFO_TIME_BUSY; survey->filled |= dev->drv->survey_flags; + if (state->noise) + survey->filled |= SURVEY_INFO_NOISE_DBM; + if (chan == phy->main_chan) { survey->filled |= SURVEY_INFO_IN_USE; @@ -628,6 +631,7 @@ int mt76_get_survey(struct ieee80211_hw *hw, int idx, survey->time_busy = div_u64(state->cc_busy, 1000); survey->time_rx = div_u64(state->cc_rx, 1000); survey->time = div_u64(state->cc_active, 1000); + survey->noise = state->noise; spin_lock_bh(&dev->cc_lock); survey->time_bss_rx = div_u64(state->cc_bss_rx, 1000); |