Jelajahi Sumber

qcacmn: Enhance cp_stats component

Add implementation to remove unused stats from pdev, vdev
peer cp_stats structure, reorder ol_ath_radiostats and
add inline macro for phy_err

Change-Id: Id91f11526c03bf14dfc285a1c87b24c8e5e00b02
CRs-Fixed: 2262329
Naga 6 tahun lalu
induk
melakukan
5233ffe848

+ 19 - 19
dp/inc/cdp_txrx_stats_struct.h

@@ -913,34 +913,18 @@ struct ol_ath_dbg_rx_rssi {
 
 struct ol_ath_radiostats {
 	uint64_t    tx_beacon;
-	uint32_t    be_nobuf;
 	uint32_t    tx_buf_count;
-	uint32_t    tx_packets;
-	uint32_t    rx_packets;
 	int32_t     tx_mgmt;
-	uint32_t    tx_num_data;
-	uint32_t    rx_num_data;
 	int32_t     rx_mgmt;
 	uint32_t    rx_num_mgmt;
 	uint32_t    rx_num_ctl;
 	uint32_t    tx_rssi;
-	uint32_t    tx_mcs[10];
-	uint32_t    rx_mcs[10];
 	uint32_t    rx_rssi_comb;
 	struct      ol_ath_dbg_rx_rssi rx_rssi_chain0;
 	struct      ol_ath_dbg_rx_rssi rx_rssi_chain1;
 	struct      ol_ath_dbg_rx_rssi rx_rssi_chain2;
 	struct      ol_ath_dbg_rx_rssi rx_rssi_chain3;
-	uint64_t    rx_bytes;
-	uint64_t    tx_bytes;
-	uint32_t    tx_compaggr;
-	uint32_t    rx_aggr;
-	uint32_t    tx_bawadv;
-	uint32_t    tx_compunaggr;
 	uint32_t    rx_overrun;
-	uint32_t    rx_badcrypt;
-	uint32_t    rx_badmic;
-	uint32_t    rx_crcerr;
 	uint32_t    rx_phyerr;
 	uint32_t    ackRcvBad;
 	uint32_t    rtsBad;
@@ -955,7 +939,6 @@ struct ol_ath_radiostats {
 	uint8_t     obss_util;
 	uint32_t    tgt_asserts;
 	int16_t     chan_nf;
-	uint32_t    rx_last_msdu_unset_cnt;
 	int16_t     chan_nf_sec80;
 	uint64_t    wmi_tx_mgmt;
 	uint64_t    wmi_tx_mgmt_completions;
@@ -963,14 +946,31 @@ struct ol_ath_radiostats {
 	uint32_t    peer_delete_req;
 	uint32_t    peer_delete_resp;
 	uint32_t    rx_mgmt_rssi_drop;
-	uint32_t    tx_retries;
-	uint32_t    rx_data_bytes;
 	uint32_t    tx_frame_count;
 	uint32_t    rx_frame_count;
 	uint32_t    rx_clear_count;
 	uint32_t    cycle_count;
 	uint32_t    phy_err_count;
 	uint32_t    chan_tx_pwr;
+	uint32_t    be_nobuf;
+	uint32_t    tx_packets;
+	uint32_t    rx_packets;
+	uint32_t    tx_num_data;
+	uint32_t    rx_num_data;
+	uint32_t    tx_mcs[10];
+	uint32_t    rx_mcs[10];
+	uint64_t    rx_bytes;
+	uint64_t    tx_bytes;
+	uint32_t    tx_compaggr;
+	uint32_t    rx_aggr;
+	uint32_t    tx_bawadv;
+	uint32_t    tx_compunaggr;
+	uint32_t    rx_badcrypt;
+	uint32_t    rx_badmic;
+	uint32_t    rx_crcerr;
+	uint32_t    rx_last_msdu_unset_cnt;
+	uint32_t    rx_data_bytes;
+	uint32_t    tx_retries;
 };
 
 /*

+ 2 - 61
umac/cp_stats/dispatcher/inc/wlan_cp_stats_ic_defs.h

@@ -62,37 +62,19 @@ struct pdev_hw_stats {
  * make sure to align this structure with ieee80211_mac_stats
  *
  * @cs_tx_beacon: tx beacon
- * @cs_be_nobuf: no skbuff available for beacon
+ * @cs_be_nobuf: tx no buf
  * @cs_tx_buf_count: tx buf count
- * @cs_tx_packets: tx packets
- * @cs_rx_packets: rx packets
  * @cs_tx_mgmt: tx mgmt
- * @cs_tx_num_data: tx data
- * @cs_rx_num_data: rx data
  * @cs_rx_mgmt: rx mgmt
  * @cs_rx_num_mgmt: rx num mgmt
  * @cs_rx_num_ctl: rx num ctrl
- * @cs_rx_ctrl: rx ctrl
- * @cs_tx_ctrl: tx ctrl
  * @cs_tx_rssi: tx rssi
- * @cs_tx_mcs[]: tx mcs
- * @cs_rx_mcs[]: rx mcs
  * @cs_rx_rssi_comb: rx rssi comb
- * @cs_rx_bytes: rx bytes
- * @cs_tx_bytes: tx bytes
- * @cs_tx_compaggr: tx comp aggr
- * @cs_rx_aggr: rx aggr
- * @cs_tx_bawadv: tx bad adv frames
- * @cs_tx_compunaggr: tx comp unaggr frames
  * @cs_rx_overrun: rx over run frames
- * @cs_rx_crypt_err: rx crypt error count
- * @cs_rx_mic_err: rx mic error count
- * @cs_rx_crc_err: rx crc error count
  * @cs_rx_phy_err: rx phy error count
  * @cs_rx_ack_err: rx ack error count
  * @cs_rx_rts_err: rx rts error count
  * @cs_rx_rts_success: rx rts success count
- * @cs_rx_fcs_err: rx fcs error count
  * @cs_no_beacons: rx beacon
  * @cs_mib_int_count: mib int count
  * @cs_rx_looplimit_start: rx loop limit start
@@ -100,7 +82,6 @@ struct pdev_hw_stats {
  * @cs_ap_stats_tx_cal_enable: ap stats tx cal enable status
  * @cs_tgt_asserts: tgt assert count
  * @cs_chan_nf: channel noise floor
- * @cs_rx_last_msdu_unset_cnt: rx last msdu unset count
  * @cs_chan_nf_sec80: channel noise floor secondary 80
  * @cs_wmi_tx_mgmt: wmi tx mgmt
  * @cs_wmi_tx_mgmt_completions: wmi tx mgmt complete
@@ -109,7 +90,6 @@ struct pdev_hw_stats {
  * @cs_peer_delete_resp: peer del response
  * @cs_rx_mgmt_rssi_drop: rx mgmt rssi drop
  * @cs_tx_retries: tx retries
- * @cs_rx_data_bytes: rx data bytes
  * @cs_tx_frame_count: tx frame count
  * @cs_rx_frame_count: rx frame count
  * @cs_rx_clear_count: rx clear count
@@ -121,39 +101,21 @@ struct pdev_80211_stats {
 	uint64_t cs_tx_beacon;
 	uint32_t cs_be_nobuf;
 	uint32_t cs_tx_buf_count;
-	uint32_t cs_tx_packets;
-	uint32_t cs_rx_packets;
 	uint32_t cs_tx_mgmt;
-	uint32_t cs_tx_num_data;
-	uint32_t cs_rx_num_data;
 	uint32_t cs_rx_mgmt;
 	uint32_t cs_rx_num_mgmt;
 	uint32_t cs_rx_num_ctl;
-	uint64_t cs_rx_ctrl;
-	uint64_t cs_tx_ctrl;
 	uint32_t cs_tx_rssi;
-	uint32_t cs_tx_mcs[10];
-	uint32_t cs_rx_mcs[10];
 	uint32_t cs_rx_rssi_comb;
 	struct pdev_rx_rssi cs_rx_rssi_chain0;
 	struct pdev_rx_rssi cs_rx_rssi_chain1;
 	struct pdev_rx_rssi cs_rx_rssi_chain2;
 	struct pdev_rx_rssi cs_rx_rssi_chain3;
-	uint64_t cs_rx_bytes;
-	uint64_t cs_tx_bytes;
-	uint32_t cs_tx_compaggr;
-	uint32_t cs_rx_aggr;
-	uint32_t cs_tx_bawadv;
-	uint32_t cs_tx_compunaggr;
 	uint32_t cs_rx_overrun;
-	uint32_t cs_rx_crypt_err;
-	uint32_t cs_rx_mic_err;
-	uint32_t cs_rx_crc_err;
 	uint32_t cs_rx_phy_err;
 	uint32_t cs_rx_ack_err;
 	uint32_t cs_rx_rts_err;
 	uint32_t cs_rx_rts_success;
-	uint32_t cs_rx_fcs_err;
 	uint32_t cs_no_beacons;
 	uint32_t cs_mib_int_count;
 	uint32_t cs_rx_looplimit_start;
@@ -163,7 +125,6 @@ struct pdev_80211_stats {
 	uint8_t  cs_obss_util;
 	uint32_t cs_tgt_asserts;
 	int16_t  cs_chan_nf;
-	uint32_t cs_rx_last_msdu_unset_cnt;
 	int16_t  cs_chan_nf_sec80;
 	uint64_t cs_wmi_tx_mgmt;
 	uint64_t cs_wmi_tx_mgmt_completions;
@@ -172,7 +133,6 @@ struct pdev_80211_stats {
 	uint32_t cs_peer_delete_resp;
 	uint32_t cs_rx_mgmt_rssi_drop;
 	uint32_t cs_tx_retries;
-	uint32_t cs_rx_data_bytes;
 	uint32_t cs_tx_frame_count;
 	uint32_t cs_rx_frame_count;
 	uint32_t cs_rx_clear_count;
@@ -418,7 +378,6 @@ struct vdev_80211_stats {
  * @cs_rx_wpireplay: rx wpi replay
  * @cs_rx_wpimic: rx wpi mic failures
  * @cs_rx_countermeasure: rx counter measures count
- * @cs_retries: rx retries
  * @cs_tx_mgmt: tx mgmt
  * @cs_rx_mgmt: rx mgmt
  */
@@ -435,7 +394,6 @@ struct vdev_80211_mac_stats {
 	uint64_t cs_rx_wpireplay;
 	uint64_t cs_rx_wpimic;
 	uint64_t cs_rx_countermeasure;
-	uint64_t cs_retries;
 	uint64_t cs_tx_mgmt;
 	uint64_t cs_rx_mgmt;
 };
@@ -470,14 +428,6 @@ struct vdev_ic_cp_stats {
  *  @cs_is_tx_not_ok: tx failures
  *  @cs_ps_discard: ps discard
  *  @cs_rx_mgmt_rate: rx mgmt rate
- *  @cs_tx_bytes_rate: tx rate
- *  @cs_tx_data_rate: tx data rate
- *  @cs_rx_bytes_rate: rx rate
- *  @cs_rx_data_rate: rx data rate
- *  @cs_tx_bytes_success_last: tx success count in last 1 sec
- *  @cs_tx_data_success_last: tx data success count in last 1 sec
- *  @cs_rx_bytes_last: rx rate
- *  @cs_rx_data_last: rx data rate
  *  @cs_psq_drops: psq drops
  *  @cs_tx_dropblock: tx dropblock
  *  @cs_tx_assoc: tx assoc success
@@ -495,22 +445,13 @@ struct peer_ic_cp_stats {
 	uint32_t cs_is_tx_not_ok;
 	uint32_t cs_ps_discard;
 	uint32_t cs_rx_mgmt_rate;
-#ifdef WLAN_ATH_SUPPORT_EXT_STAT
-	uint32_t cs_tx_bytes_rate;
-	uint32_t cs_tx_data_rate;
-	uint32_t cs_rx_bytes_rate;
-	uint32_t cs_rx_data_rate;
-	uint32_t cs_tx_bytes_success_last;
-	uint32_t cs_tx_data_success_last;
-	uint32_t cs_rx_bytes_last;
-	uint32_t cs_rx_data_last;
-#endif
 	uint32_t cs_psq_drops;
 #ifdef ATH_SUPPORT_IQUE
 	uint32_t cs_tx_dropblock;
 #endif
 	uint32_t cs_tx_assoc;
 	uint32_t cs_tx_assoc_fail;
+	uint32_t cs_is_tx_nobuf;
 };
 
 #endif /* QCA_SUPPORT_CP_STATS */

+ 2 - 28
umac/cp_stats/dispatcher/inc/wlan_cp_stats_ic_ucfg_api.h

@@ -80,33 +80,17 @@
 UCFG_PDEV_CP_STATS_SET_FUNCS(tx_beacon);
 UCFG_PDEV_CP_STATS_SET_FUNCS(be_nobuf);
 UCFG_PDEV_CP_STATS_SET_FUNCS(tx_buf_count);
-UCFG_PDEV_CP_STATS_SET_FUNCS(tx_packets);
-UCFG_PDEV_CP_STATS_SET_FUNCS(rx_packets);
 UCFG_PDEV_CP_STATS_SET_FUNCS(tx_mgmt);
-UCFG_PDEV_CP_STATS_SET_FUNCS(tx_num_data);
-UCFG_PDEV_CP_STATS_SET_FUNCS(rx_num_data);
 UCFG_PDEV_CP_STATS_SET_FUNCS(rx_mgmt);
 UCFG_PDEV_CP_STATS_SET_FUNCS(rx_num_mgmt);
 UCFG_PDEV_CP_STATS_SET_FUNCS(rx_num_ctl);
-UCFG_PDEV_CP_STATS_SET_FUNCS(rx_ctrl);
-UCFG_PDEV_CP_STATS_SET_FUNCS(tx_ctrl);
 UCFG_PDEV_CP_STATS_SET_FUNCS(tx_rssi);
 UCFG_PDEV_CP_STATS_SET_FUNCS(rx_rssi_comb);
-UCFG_PDEV_CP_STATS_SET_FUNCS(rx_bytes);
-UCFG_PDEV_CP_STATS_SET_FUNCS(tx_bytes);
-UCFG_PDEV_CP_STATS_SET_FUNCS(tx_compaggr);
-UCFG_PDEV_CP_STATS_SET_FUNCS(rx_aggr);
-UCFG_PDEV_CP_STATS_SET_FUNCS(tx_bawadv);
-UCFG_PDEV_CP_STATS_SET_FUNCS(tx_compunaggr);
 UCFG_PDEV_CP_STATS_SET_FUNCS(rx_overrun);
-UCFG_PDEV_CP_STATS_SET_FUNCS(rx_crypt_err);
-UCFG_PDEV_CP_STATS_SET_FUNCS(rx_mic_err);
-UCFG_PDEV_CP_STATS_SET_FUNCS(rx_crc_err);
 UCFG_PDEV_CP_STATS_SET_FUNCS(rx_phy_err);
 UCFG_PDEV_CP_STATS_SET_FUNCS(rx_ack_err);
 UCFG_PDEV_CP_STATS_SET_FUNCS(rx_rts_err);
 UCFG_PDEV_CP_STATS_SET_FUNCS(rx_rts_success);
-UCFG_PDEV_CP_STATS_SET_FUNCS(rx_fcs_err);
 UCFG_PDEV_CP_STATS_SET_FUNCS(no_beacons);
 UCFG_PDEV_CP_STATS_SET_FUNCS(mib_int_count);
 UCFG_PDEV_CP_STATS_SET_FUNCS(rx_looplimit_start);
@@ -114,7 +98,6 @@ UCFG_PDEV_CP_STATS_SET_FUNCS(rx_looplimit_end);
 UCFG_PDEV_CP_STATS_SET_FUNCS(ap_stats_tx_cal_enable);
 UCFG_PDEV_CP_STATS_SET_FUNCS(tgt_asserts);
 UCFG_PDEV_CP_STATS_SET_FUNCS(chan_nf);
-UCFG_PDEV_CP_STATS_SET_FUNCS(rx_last_msdu_unset_cnt);
 UCFG_PDEV_CP_STATS_SET_FUNCS(chan_nf_sec80);
 UCFG_PDEV_CP_STATS_SET_FUNCS(wmi_tx_mgmt);
 UCFG_PDEV_CP_STATS_SET_FUNCS(wmi_tx_mgmt_completions);
@@ -123,7 +106,6 @@ UCFG_PDEV_CP_STATS_SET_FUNCS(peer_delete_req);
 UCFG_PDEV_CP_STATS_SET_FUNCS(peer_delete_resp);
 UCFG_PDEV_CP_STATS_SET_FUNCS(rx_mgmt_rssi_drop);
 UCFG_PDEV_CP_STATS_SET_FUNCS(tx_retries);
-UCFG_PDEV_CP_STATS_SET_FUNCS(rx_data_bytes);
 UCFG_PDEV_CP_STATS_SET_FUNCS(tx_frame_count);
 UCFG_PDEV_CP_STATS_SET_FUNCS(rx_frame_count);
 UCFG_PDEV_CP_STATS_SET_FUNCS(rx_clear_count);
@@ -155,6 +137,7 @@ UCFG_PDEV_CP_STATS_GET_FUNCS(wmi_tx_mgmt);
 UCFG_PDEV_CP_STATS_GET_FUNCS(wmi_tx_mgmt_completions);
 UCFG_PDEV_CP_STATS_GET_FUNCS(wmi_tx_mgmt_completion_err);
 UCFG_PDEV_CP_STATS_GET_FUNCS(tgt_asserts);
+UCFG_PDEV_CP_STATS_GET_FUNCS(rx_phy_err);
 
 static inline void ucfg_pdev_cp_stats_reset(struct wlan_objmgr_pdev *_pdev)
 {
@@ -601,19 +584,10 @@ UCFG_PEER_CP_STATS_SET_FUNCS(ps_discard);
 UCFG_PEER_CP_STATS_SET_FUNCS(psq_drops);
 UCFG_PEER_CP_STATS_SET_FUNCS(tx_assoc);
 UCFG_PEER_CP_STATS_SET_FUNCS(tx_assoc_fail);
+UCFG_PEER_CP_STATS_SET_FUNCS(is_tx_nobuf);
 #ifdef ATH_SUPPORT_IQUE
 UCFG_PEER_CP_STATS_SET_FUNCS(tx_dropblock);
 #endif
-#ifdef WLAN_ATH_SUPPORT_EXT_STAT
-UCFG_PEER_CP_STATS_SET_FUNCS(tx_bytes_rate);
-UCFG_PEER_CP_STATS_SET_FUNCS(rx_bytes_rate);
-UCFG_PEER_CP_STATS_SET_FUNCS(tx_data_rate);
-UCFG_PEER_CP_STATS_SET_FUNCS(rx_data_rate);
-UCFG_PEER_CP_STATS_SET_FUNCS(rx_bytes_last);
-UCFG_PEER_CP_STATS_SET_FUNCS(rx_data_last);
-UCFG_PEER_CP_STATS_SET_FUNCS(tx_bytes_success_last);
-UCFG_PEER_CP_STATS_SET_FUNCS(tx_data_success_last);
-#endif
 
 static inline
 void ucfg_peer_cp_stats_rx_mgmt_rssi_update(struct wlan_objmgr_peer *peer,

+ 2 - 28
umac/cp_stats/dispatcher/inc/wlan_cp_stats_ic_utils_api.h

@@ -62,19 +62,10 @@ PEER_CP_STATS_SET_FUNCS(ps_discard);
 PEER_CP_STATS_SET_FUNCS(psq_drops);
 PEER_CP_STATS_SET_FUNCS(tx_assoc);
 PEER_CP_STATS_SET_FUNCS(tx_assoc_fail);
+PEER_CP_STATS_SET_FUNCS(is_tx_nobuf);
 #ifdef ATH_SUPPORT_IQUE
 PEER_CP_STATS_SET_FUNCS(tx_dropblock);
 #endif
-#ifdef WLAN_ATH_SUPPORT_EXT_STAT
-PEER_CP_STATS_SET_FUNCS(tx_bytes_rate);
-PEER_CP_STATS_SET_FUNCS(rx_bytes_rate);
-PEER_CP_STATS_SET_FUNCS(tx_data_rate);
-PEER_CP_STATS_SET_FUNCS(rx_data_rate);
-PEER_CP_STATS_SET_FUNCS(rx_bytes_last);
-PEER_CP_STATS_SET_FUNCS(rx_data_last);
-PEER_CP_STATS_SET_FUNCS(tx_bytes_success_last);
-PEER_CP_STATS_SET_FUNCS(tx_data_success_last);
-#endif
 
 #define PEER_CP_STATS_GET_FUNCS(field) \
 	static inline uint64_t \
@@ -302,33 +293,17 @@ static inline void vdev_cp_stats_reset(struct wlan_objmgr_vdev *vdev)
 PDEV_CP_STATS_SET_FUNCS(tx_beacon);
 PDEV_CP_STATS_SET_FUNCS(be_nobuf);
 PDEV_CP_STATS_SET_FUNCS(tx_buf_count);
-PDEV_CP_STATS_SET_FUNCS(tx_packets);
-PDEV_CP_STATS_SET_FUNCS(rx_packets);
 PDEV_CP_STATS_SET_FUNCS(tx_mgmt);
-PDEV_CP_STATS_SET_FUNCS(tx_num_data);
-PDEV_CP_STATS_SET_FUNCS(rx_num_data);
 PDEV_CP_STATS_SET_FUNCS(rx_mgmt);
 PDEV_CP_STATS_SET_FUNCS(rx_num_mgmt);
 PDEV_CP_STATS_SET_FUNCS(rx_num_ctl);
-PDEV_CP_STATS_SET_FUNCS(rx_ctrl);
-PDEV_CP_STATS_SET_FUNCS(tx_ctrl);
 PDEV_CP_STATS_SET_FUNCS(tx_rssi);
 PDEV_CP_STATS_SET_FUNCS(rx_rssi_comb);
-PDEV_CP_STATS_SET_FUNCS(rx_bytes);
-PDEV_CP_STATS_SET_FUNCS(tx_bytes);
-PDEV_CP_STATS_SET_FUNCS(tx_compaggr);
-PDEV_CP_STATS_SET_FUNCS(rx_aggr);
-PDEV_CP_STATS_SET_FUNCS(tx_bawadv);
-PDEV_CP_STATS_SET_FUNCS(tx_compunaggr);
 PDEV_CP_STATS_SET_FUNCS(rx_overrun);
-PDEV_CP_STATS_SET_FUNCS(rx_crypt_err);
-PDEV_CP_STATS_SET_FUNCS(rx_mic_err);
-PDEV_CP_STATS_SET_FUNCS(rx_crc_err);
 PDEV_CP_STATS_SET_FUNCS(rx_phy_err);
 PDEV_CP_STATS_SET_FUNCS(rx_ack_err);
 PDEV_CP_STATS_SET_FUNCS(rx_rts_err);
 PDEV_CP_STATS_SET_FUNCS(rx_rts_success);
-PDEV_CP_STATS_SET_FUNCS(rx_fcs_err);
 PDEV_CP_STATS_SET_FUNCS(no_beacons);
 PDEV_CP_STATS_SET_FUNCS(mib_int_count);
 PDEV_CP_STATS_SET_FUNCS(rx_looplimit_start);
@@ -336,7 +311,6 @@ PDEV_CP_STATS_SET_FUNCS(rx_looplimit_end);
 PDEV_CP_STATS_SET_FUNCS(ap_stats_tx_cal_enable);
 PDEV_CP_STATS_SET_FUNCS(tgt_asserts);
 PDEV_CP_STATS_SET_FUNCS(chan_nf);
-PDEV_CP_STATS_SET_FUNCS(rx_last_msdu_unset_cnt);
 PDEV_CP_STATS_SET_FUNCS(chan_nf_sec80);
 PDEV_CP_STATS_SET_FUNCS(wmi_tx_mgmt);
 PDEV_CP_STATS_SET_FUNCS(wmi_tx_mgmt_completions);
@@ -345,7 +319,6 @@ PDEV_CP_STATS_SET_FUNCS(peer_delete_req);
 PDEV_CP_STATS_SET_FUNCS(peer_delete_resp);
 PDEV_CP_STATS_SET_FUNCS(rx_mgmt_rssi_drop);
 PDEV_CP_STATS_SET_FUNCS(tx_retries);
-PDEV_CP_STATS_SET_FUNCS(rx_data_bytes);
 PDEV_CP_STATS_SET_FUNCS(tx_frame_count);
 PDEV_CP_STATS_SET_FUNCS(rx_frame_count);
 PDEV_CP_STATS_SET_FUNCS(rx_clear_count);
@@ -369,6 +342,7 @@ PDEV_CP_STATS_GET_FUNCS(wmi_tx_mgmt);
 PDEV_CP_STATS_GET_FUNCS(wmi_tx_mgmt_completions);
 PDEV_CP_STATS_GET_FUNCS(wmi_tx_mgmt_completion_err);
 PDEV_CP_STATS_GET_FUNCS(tgt_asserts);
+PDEV_CP_STATS_GET_FUNCS(rx_phy_err);
 
 static inline void pdev_cp_stats_reset(struct wlan_objmgr_pdev *pdev)
 {