mac80211: add debugfs file for HW queues
authorJohannes Berg <johannes.berg@intel.com>
Thu, 8 Nov 2012 14:29:28 +0000 (15:29 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 9 Nov 2012 16:26:41 +0000 (17:26 +0100)
Add a debugfs file showing which HW queues were
allocated to a virtual interface, including the
CAB queue for AP interfaces.

Change-Id: I486924e961b6ad6785a79db09620919ee644e703
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/debugfs_netdev.c

index 9b6afb3698f646077db0507960316b8fae7b4174..ba9bd0ef119a5b63788db63f1ae3630b77326cee 100644 (file)
@@ -173,6 +173,26 @@ IEEE80211_IF_FILE(txpower, vif.bss_conf.txpower, DEC);
 IEEE80211_IF_FILE(ap_power_level, ap_power_level, DEC);
 IEEE80211_IF_FILE(user_power_level, user_power_level, DEC);
 
+static ssize_t
+ieee80211_if_fmt_hw_queues(const struct ieee80211_sub_if_data *sdata,
+                          char *buf, int buflen)
+{
+       int len;
+
+       len = scnprintf(buf, buflen, "AC queues: VO:%d VI:%d BE:%d BK:%d\n",
+                       sdata->vif.hw_queue[IEEE80211_AC_VO],
+                       sdata->vif.hw_queue[IEEE80211_AC_VI],
+                       sdata->vif.hw_queue[IEEE80211_AC_BE],
+                       sdata->vif.hw_queue[IEEE80211_AC_BK]);
+
+       if (sdata->vif.type == NL80211_IFTYPE_AP)
+               len += scnprintf(buf + len, buflen - len, "cab queue: %d\n",
+                                sdata->vif.cab_queue);
+
+       return len;
+}
+__IEEE80211_IF_FILE(hw_queues, NULL);
+
 /* STA attributes */
 IEEE80211_IF_FILE(bssid, u.mgd.bssid, MAC);
 IEEE80211_IF_FILE(aid, u.mgd.aid, DEC);
@@ -511,6 +531,7 @@ static void add_common_files(struct ieee80211_sub_if_data *sdata)
        DEBUGFS_ADD(rc_rateidx_mask_5ghz);
        DEBUGFS_ADD(rc_rateidx_mcs_mask_2ghz);
        DEBUGFS_ADD(rc_rateidx_mcs_mask_5ghz);
+       DEBUGFS_ADD(hw_queues);
 }
 
 static void add_sta_files(struct ieee80211_sub_if_data *sdata)