aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhang Qian <zhangq@qti.qualcomm.com>2016-09-05 16:22:38 +0800
committerHamad Kadmany <hkadmany@codeaurora.org>2016-09-07 15:13:53 +0300
commit8e491f2b530733334e18ca6ef37cc6a55e289fac (patch)
tree06532f03fb21915e9bdd122e2209e793242bd51d
parentaaa99f55900255aed9081b471d8667c464b1e630 (diff)
downloadandroid_external_wpa_supplicant_8-8e491f2b530733334e18ca6ef37cc6a55e289fac.tar.gz
android_external_wpa_supplicant_8-8e491f2b530733334e18ca6ef37cc6a55e289fac.tar.bz2
android_external_wpa_supplicant_8-8e491f2b530733334e18ca6ef37cc6a55e289fac.zip
QCA vendor subcommand for LL_STATS extension
Some user space monitor wants to offload link layer statistics to firmware. A new command QCA_NL80211_VENDOR_SUBCMD_LL_STATS_EXT and associcated attributes are added. The monitor will use this new command to configure monitoring paramters and get link layer statistics. Attributes added in this change: 1. Parameters for FW to trigger the statistics report 2. Peer STA power state 3. TX failure statistics Change-Id: I7937f299eb2676c42397935dd75de4310651b255 Signed-off-by: Zhang Qian <zhangq@qti.qualcomm.com> Git-commit: 22950d0568fddd9fcd11562d5a38c8e595ab5c99 Git-repo: git://w1.fi/srv/git/hostap.git CRs-Fixed: 1064000
-rw-r--r--src/common/qca-vendor.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/common/qca-vendor.h b/src/common/qca-vendor.h
index f200c489..60c166e8 100644
--- a/src/common/qca-vendor.h
+++ b/src/common/qca-vendor.h
@@ -124,6 +124,10 @@ enum qca_radiotap_vendor_ids {
* capabilities are to be fetched and other
* enum qca_wlan_vendor_attr_get_hw_capability attributes to return the
* requested capabilities.
+ *
+ * @QCA_NL80211_VENDOR_SUBCMD_LL_STATS_EXT: Link layer statistics extension.
+ * enum qca_wlan_vendor_attr_ll_stats_ext attributes are used with this
+ * command and event.
*/
enum qca_nl80211_vendor_subcmds {
QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0,
@@ -211,6 +215,7 @@ enum qca_nl80211_vendor_subcmds {
QCA_NL80211_VENDOR_SUBCMD_SAP_CONDITIONAL_CHAN_SWITCH = 124,
QCA_NL80211_VENDOR_SUBCMD_GPIO_CONFIG_COMMAND = 125,
QCA_NL80211_VENDOR_SUBCMD_GET_HW_CAPABILITY = 126,
+ QCA_NL80211_VENDOR_SUBCMD_LL_STATS_EXT = 127,
};
@@ -769,4 +774,45 @@ enum qca_wlan_vendor_attr_get_hw_capability {
QCA_WLAN_VENDOR_ATTR_HW_CAPABILITY_AFTER_LAST - 1,
};
+/**
+ * enum qca_wlan_vendor_attr_ll_stats_ext - Attributes for MAC layer monitoring
+ * offload which is an extension for LL_STATS.
+ * @QCA_WLAN_VENDOR_ATTR_LL_STATS_CFG_PERIOD: Monitoring period. Unit in ms.
+ * If MAC counters do not exceed the threshold, FW will report monitored
+ * link layer counters periodically as this setting. The first report is
+ * always triggered by this timer.
+ * @QCA_WLAN_VENDOR_ATTR_LL_STATS_CFG_THRESHOLD: It is a percentage (1-99).
+ * For each MAC layer counter, FW holds two copies. One is the current value.
+ * The other is the last report. Once a current counter's increment is larger
+ * than the threshold, FW will indicate that counter to host even if the
+ * monitoring timer does not expire.
+ * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_PS_CHG: Peer STA power state change
+ * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TID: TID of MSDU
+ * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_NUM_MSDU: Count of MSDU with the same
+ * failure code.
+ * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_STATUS: TX failure code
+ * 1: TX packet discarded
+ * 2: No ACK
+ * 3: Postpone
+ */
+enum qca_wlan_vendor_attr_ll_stats_ext {
+ QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_INVALID = 0,
+
+ /* Attributes for configurations */
+ QCA_WLAN_VENDOR_ATTR_LL_STATS_CFG_PERIOD,
+ QCA_WLAN_VENDOR_ATTR_LL_STATS_CFG_THRESHOLD,
+
+ /* Attributes for events */
+ QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_PS_CHG,
+
+ /* TX failure event */
+ QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TID,
+ QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_NUM_MSDU,
+ QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_STATUS,
+
+ QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_LAST,
+ QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_MAX =
+ QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_LAST - 1
+};
+
#endif /* QCA_VENDOR_H */