diff options
| author | gaolez <gaolez@codeaurora.org> | 2016-11-02 20:10:01 +0800 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-11-29 23:12:23 -0800 |
| commit | 191da661ad9b7244ab7028313eeab2ab8fdc5c9f (patch) | |
| tree | f9518a4bf9111946c08624b06c0eb0f3fef4044d | |
| parent | 9a575be6de2c73b322cafa1a27c22d9c38e41fbf (diff) | |
qcacld-2.0: Add 4 counts to link layer stats
Add 4 counts to link layer stats which will be retrieved along with
other link layer stats fields by application to decide if channel
hopping needed.
Change-Id: Ic413b8ad98f1147715cf89c083aa9a77e60a2dc6
CRs-Fixed: 1094958
| -rw-r--r-- | CORE/HDD/inc/wlan_hdd_cfg80211.h | 9 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg80211.c | 14 | ||||
| -rw-r--r-- | CORE/MAC/inc/sirApi.h | 4 |
3 files changed, 26 insertions, 1 deletions
diff --git a/CORE/HDD/inc/wlan_hdd_cfg80211.h b/CORE/HDD/inc/wlan_hdd_cfg80211.h index 44f846c711e6..4d2044161715 100644 --- a/CORE/HDD/inc/wlan_hdd_cfg80211.h +++ b/CORE/HDD/inc/wlan_hdd_cfg80211.h @@ -1143,6 +1143,15 @@ enum qca_wlan_vendor_attr_ll_stats_results */ QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_TX_TIME_PER_LEVEL, + /* Unsigned 32bit value */ + QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RTS_SUCC_CNT, + /* Unsigned 32bit value */ + QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RTS_FAIL_CNT, + /* Unsigned 32bit value */ + QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_PPDU_SUCC_CNT, + /* Unsigned 32bit value */ + QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_PPDU_FAIL_CNT, + /* keep last */ QCA_WLAN_VENDOR_ATTR_LL_STATS_AFTER_LAST, QCA_WLAN_VENDOR_ATTR_LL_STATS_MAX = diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c index 54c5e54f006d..b3c265c63ac5 100644 --- a/CORE/HDD/src/wlan_hdd_cfg80211.c +++ b/CORE/HDD/src/wlan_hdd_cfg80211.c @@ -5792,7 +5792,19 @@ static bool put_wifi_iface_stats(tpSirWifiIfaceStat pWifiIfaceStat, pWifiIfaceStat->rx_leak_window) || nla_put_u64(vendor_event, QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_AVERAGE_TSF_OFFSET, - average_tsf_offset)) + average_tsf_offset) || + nla_put_u32(vendor_event, + QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RTS_SUCC_CNT, + pWifiIfaceStat->rts_succ_cnt) || + nla_put_u32(vendor_event, + QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RTS_FAIL_CNT, + pWifiIfaceStat->rts_fail_cnt) || + nla_put_u32(vendor_event, + QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_PPDU_SUCC_CNT, + pWifiIfaceStat->ppdu_succ_cnt) || + nla_put_u32(vendor_event, + QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_PPDU_FAIL_CNT, + pWifiIfaceStat->ppdu_fail_cnt)) { hddLog(VOS_TRACE_LEVEL_ERROR, FL("QCA_WLAN_VENDOR_ATTR put fail")); diff --git a/CORE/MAC/inc/sirApi.h b/CORE/MAC/inc/sirApi.h index fd0adb2ac148..65012ef490b5 100644 --- a/CORE/MAC/inc/sirApi.h +++ b/CORE/MAC/inc/sirApi.h @@ -6259,6 +6259,10 @@ typedef struct time driver waits before shutting down the radio or switching the channel and after receiving an ACK for a data frame with PM bit set) */ tANI_U32 rx_leak_window; + uint32_t rts_succ_cnt; + uint32_t rts_fail_cnt; + uint32_t ppdu_succ_cnt; + uint32_t ppdu_fail_cnt; /* per ac data packet statistics */ tSirWifiWmmAcStat AccessclassStats[WIFI_AC_MAX]; } tSirWifiIfaceStat, *tpSirWifiIfaceStat; |
