X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/c5994771e1b262cc2bbe5dfb3db0f3bd3747b3bd..db440a5bdb01cbfef46d6963724322eb7062750f:/package/mac80211/patches/551-ath9k_per_chain_signal_strength.patch diff --git a/package/mac80211/patches/551-ath9k_per_chain_signal_strength.patch b/package/mac80211/patches/551-ath9k_per_chain_signal_strength.patch index 284b4fcc7..bb64537b7 100644 --- a/package/mac80211/patches/551-ath9k_per_chain_signal_strength.patch +++ b/package/mac80211/patches/551-ath9k_per_chain_signal_strength.patch @@ -1,6 +1,6 @@ --- a/include/net/mac80211.h +++ b/include/net/mac80211.h -@@ -681,6 +681,9 @@ enum mac80211_rx_flags { +@@ -683,6 +683,9 @@ enum mac80211_rx_flags { * @mactime: value in microseconds of the 64-bit Time Synchronization Function * (TSF) timer when the first data symbol (MPDU) arrived at the hardware. * @band: the active band when this frame was received @@ -10,7 +10,7 @@ * @freq: frequency the radio was tuned to when receiving this frame, in MHz * @signal: signal strength when receiving this frame, either in dBm, in dB or * unspecified depending on the hardware capabilities flags -@@ -694,6 +697,10 @@ enum mac80211_rx_flags { +@@ -696,6 +699,10 @@ enum mac80211_rx_flags { struct ieee80211_rx_status { u64 mactime; enum ieee80211_band band; @@ -78,27 +78,27 @@ kfree(sta); --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h -@@ -497,6 +497,8 @@ struct station_parameters { - * @STATION_INFO_BSS_PARAM: @bss_param filled +@@ -498,6 +498,8 @@ struct station_parameters { * @STATION_INFO_CONNECTED_TIME: @connected_time filled * @STATION_INFO_ASSOC_REQ_IES: @assoc_req_ies filled + * @STATION_INFO_STA_FLAGS: @sta_flags filled + * @STATION_INFO_CHAIN_SIGNAL: @chain_signal filled + * @STATION_INFO_CHAIN_SIGNAL_AVG: @chain_signal_avg filled */ enum station_info_flags { STATION_INFO_INACTIVE_TIME = 1<<0, -@@ -516,7 +518,9 @@ enum station_info_flags { - STATION_INFO_RX_BITRATE = 1<<14, +@@ -518,7 +520,9 @@ enum station_info_flags { STATION_INFO_BSS_PARAM = 1<<15, STATION_INFO_CONNECTED_TIME = 1<<16, -- STATION_INFO_ASSOC_REQ_IES = 1<<17 -+ STATION_INFO_ASSOC_REQ_IES = 1<<17, -+ STATION_INFO_CHAIN_SIGNAL = 1<<18, -+ STATION_INFO_CHAIN_SIGNAL_AVG = 1<<19, + STATION_INFO_ASSOC_REQ_IES = 1<<17, +- STATION_INFO_STA_FLAGS = 1<<18 ++ STATION_INFO_STA_FLAGS = 1<<18, ++ STATION_INFO_CHAIN_SIGNAL = 1<<19, ++ STATION_INFO_CHAIN_SIGNAL_AVG = 1<<20, }; /** -@@ -596,6 +600,9 @@ struct sta_bss_parameters { +@@ -598,6 +602,9 @@ struct sta_bss_parameters { * @plink_state: mesh peer link state * @signal: signal strength of last received packet in dBm * @signal_avg: signal strength average in dBm @@ -108,7 +108,7 @@ * @txrate: current unicast bitrate from this station * @rxrate: current unicast bitrate to this station * @rx_packets: packets received from this station -@@ -625,6 +632,11 @@ struct station_info { +@@ -627,6 +634,11 @@ struct station_info { u8 plink_state; s8 signal; s8 signal_avg; @@ -271,19 +271,19 @@ RX_SAMP_DBG(rate) = rs->rs_rate; --- a/include/linux/nl80211.h +++ b/include/linux/nl80211.h -@@ -1548,6 +1548,8 @@ enum nl80211_sta_bss_param { - * @NL80211_STA_INFO_BSS_PARAM: current station's view of BSS, nested attribute +@@ -1549,6 +1549,8 @@ enum nl80211_sta_bss_param { * containing info as possible, see &enum nl80211_sta_bss_param * @NL80211_STA_INFO_CONNECTED_TIME: time since the station is last connected + * @NL80211_STA_INFO_STA_FLAGS: Contains a struct nl80211_sta_flag_update. + * @NL80211_STA_INFO_CHAIN_SIGNAL: per-chain signal strength of last PPDU + * @NL80211_STA_INFO_CHAIN_SIGNAL_AVG: per-chain signal strength average * @__NL80211_STA_INFO_AFTER_LAST: internal * @NL80211_STA_INFO_MAX: highest possible station info attribute */ -@@ -1569,6 +1571,8 @@ enum nl80211_sta_info { - NL80211_STA_INFO_RX_BITRATE, +@@ -1571,6 +1573,8 @@ enum nl80211_sta_info { NL80211_STA_INFO_BSS_PARAM, NL80211_STA_INFO_CONNECTED_TIME, + NL80211_STA_INFO_STA_FLAGS, + NL80211_STA_INFO_CHAIN_SIGNAL, + NL80211_STA_INFO_CHAIN_SIGNAL_AVG, @@ -354,7 +354,7 @@ sinfo->generation = sdata->local->sta_generation; -@@ -364,6 +365,17 @@ static void sta_set_sinfo(struct sta_inf +@@ -365,6 +366,17 @@ static void sta_set_sinfo(struct sta_inf sinfo->signal = (s8)sta->last_signal; sinfo->signal_avg = (s8) -ewma_read(&sta->avg_signal); }