From 191da661ad9b7244ab7028313eeab2ab8fdc5c9f Mon Sep 17 00:00:00 2001 From: gaolez Date: Wed, 2 Nov 2016 20:10:01 +0800 Subject: 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 --- CORE/HDD/inc/wlan_hdd_cfg80211.h | 9 +++++++++ CORE/HDD/src/wlan_hdd_cfg80211.c | 14 +++++++++++++- CORE/MAC/inc/sirApi.h | 4 ++++ 3 files changed, 26 insertions(+), 1 deletion(-) 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; -- cgit v1.2.3