aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/debugfs_netdev.c
diff options
context:
space:
mode:
authorLorenzo Bianconi <lorenzo.bianconi83@gmail.com>2015-08-06 17:47:33 -0400
committerJohannes Berg <johannes.berg@intel.com>2015-08-14 11:49:51 -0400
commitb119ad6e726cc805f739f8f6843b9de4df1f895e (patch)
tree059dd7446c6e86eb3df1619efd7acab6a9e07a96 /net/mac80211/debugfs_netdev.c
parente910867bd285bb8470c47076d99d0325aaea895c (diff)
mac80211: add rate mask logic for vht rates
Define rc_rateidx_vht_mcs_mask array and rate_idx_match_vht_mcs_mask() method in order to apply mcs mask for vht rates Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/debugfs_netdev.c')
-rw-r--r--net/mac80211/debugfs_netdev.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/net/mac80211/debugfs_netdev.c b/net/mac80211/debugfs_netdev.c
index c09c0131bfa2..1021e87c051f 100644
--- a/net/mac80211/debugfs_netdev.c
+++ b/net/mac80211/debugfs_netdev.c
@@ -186,6 +186,38 @@ IEEE80211_IF_FILE(rc_rateidx_mcs_mask_2ghz,
186IEEE80211_IF_FILE(rc_rateidx_mcs_mask_5ghz, 186IEEE80211_IF_FILE(rc_rateidx_mcs_mask_5ghz,
187 rc_rateidx_mcs_mask[IEEE80211_BAND_5GHZ], HEXARRAY); 187 rc_rateidx_mcs_mask[IEEE80211_BAND_5GHZ], HEXARRAY);
188 188
189static ssize_t ieee80211_if_fmt_rc_rateidx_vht_mcs_mask_2ghz(
190 const struct ieee80211_sub_if_data *sdata,
191 char *buf, int buflen)
192{
193 int i, len = 0;
194 const u16 *mask = sdata->rc_rateidx_vht_mcs_mask[IEEE80211_BAND_2GHZ];
195
196 for (i = 0; i < NL80211_VHT_NSS_MAX; i++)
197 len += scnprintf(buf + len, buflen - len, "%04x ", mask[i]);
198 len += scnprintf(buf + len, buflen - len, "\n");
199
200 return len;
201}
202
203IEEE80211_IF_FILE_R(rc_rateidx_vht_mcs_mask_2ghz);
204
205static ssize_t ieee80211_if_fmt_rc_rateidx_vht_mcs_mask_5ghz(
206 const struct ieee80211_sub_if_data *sdata,
207 char *buf, int buflen)
208{
209 int i, len = 0;
210 const u16 *mask = sdata->rc_rateidx_vht_mcs_mask[IEEE80211_BAND_5GHZ];
211
212 for (i = 0; i < NL80211_VHT_NSS_MAX; i++)
213 len += scnprintf(buf + len, buflen - len, "%04x ", mask[i]);
214 len += scnprintf(buf + len, buflen - len, "\n");
215
216 return len;
217}
218
219IEEE80211_IF_FILE_R(rc_rateidx_vht_mcs_mask_5ghz);
220
189IEEE80211_IF_FILE(flags, flags, HEX); 221IEEE80211_IF_FILE(flags, flags, HEX);
190IEEE80211_IF_FILE(state, state, LHEX); 222IEEE80211_IF_FILE(state, state, LHEX);
191IEEE80211_IF_FILE(txpower, vif.bss_conf.txpower, DEC); 223IEEE80211_IF_FILE(txpower, vif.bss_conf.txpower, DEC);
@@ -565,6 +597,8 @@ static void add_common_files(struct ieee80211_sub_if_data *sdata)
565 DEBUGFS_ADD(rc_rateidx_mask_5ghz); 597 DEBUGFS_ADD(rc_rateidx_mask_5ghz);
566 DEBUGFS_ADD(rc_rateidx_mcs_mask_2ghz); 598 DEBUGFS_ADD(rc_rateidx_mcs_mask_2ghz);
567 DEBUGFS_ADD(rc_rateidx_mcs_mask_5ghz); 599 DEBUGFS_ADD(rc_rateidx_mcs_mask_5ghz);
600 DEBUGFS_ADD(rc_rateidx_vht_mcs_mask_2ghz);
601 DEBUGFS_ADD(rc_rateidx_vht_mcs_mask_5ghz);
568 DEBUGFS_ADD(hw_queues); 602 DEBUGFS_ADD(hw_queues);
569} 603}
570 604