diff options
| -rwxr-xr-x | fw/wlan_defs.h | 139 |
1 files changed, 126 insertions, 13 deletions
diff --git a/fw/wlan_defs.h b/fw/wlan_defs.h index 4dd6292a7bfa..ba8cbfa38189 100755 --- a/fw/wlan_defs.h +++ b/fw/wlan_defs.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2017 The Linux Foundation. All rights reserved. + * Copyright (c) 2013-2016, 2018 The Linux Foundation. All rights reserved.* * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -597,7 +597,61 @@ typedef enum { * so that it is easy to handle the statistics in BE host. */ -struct wlan_dbg_tx_stats { +/* + * wlan_dbg_tx_stats_v1, _v2: + * differing versions of the wlan_dbg_tx_stats struct used by different + * targets + */ +struct wlan_dbg_tx_stats_v1 { + /* Num HTT cookies queued to dispatch list */ + A_INT32 comp_queued; + /* Num HTT cookies dispatched */ + A_INT32 comp_delivered; + /* Num MSDU queued to WAL */ + A_INT32 msdu_enqued; + /* Num MPDU queue to WAL */ + A_INT32 mpdu_enqued; + /* Num MSDUs dropped by WMM limit */ + A_INT32 wmm_drop; + /* Num Local frames queued */ + A_INT32 local_enqued; + /* Num Local frames done */ + A_INT32 local_freed; + /* Num queued to HW */ + A_INT32 hw_queued; + /* Num PPDU reaped from HW */ + A_INT32 hw_reaped; + /* Num underruns */ + A_INT32 underrun; + /* Num PPDUs cleaned up in TX abort */ + A_INT32 tx_abort; + /* Num MPDUs requed by SW */ + A_INT32 mpdus_requed; + /* excessive retries */ + A_UINT32 tx_ko; + /* data hw rate code */ + A_UINT32 data_rc; + /* Scheduler self triggers */ + A_UINT32 self_triggers; + /* frames dropped due to excessive sw retries */ + A_UINT32 sw_retry_failure; + /* illegal rate phy errors */ + A_UINT32 illgl_rate_phy_err; + /* wal pdev continous xretry */ + A_UINT32 pdev_cont_xretry; + /* wal pdev continous xretry */ + A_UINT32 pdev_tx_timeout; + /* wal pdev resets */ + A_UINT32 pdev_resets; + /* frames dropped due to non-availability of stateless TIDs */ + A_UINT32 stateless_tid_alloc_failure; + /* PhY/BB underrun */ + A_UINT32 phy_underrun; + /* MPDU is more than txop limit */ + A_UINT32 txop_ovf; +}; + +struct wlan_dbg_tx_stats_v2 { /* Num HTT cookies queued to dispatch list */ A_INT32 comp_queued; /* Num HTT cookies dispatched */ @@ -618,19 +672,15 @@ struct wlan_dbg_tx_stats { A_INT32 hw_reaped; /* Num underruns */ A_INT32 underrun; -#if defined(AR900B) /* HW Paused. */ A_UINT32 hw_paused; -#endif /* Num PPDUs cleaned up in TX abort */ A_INT32 tx_abort; /* Num MPDUs requed by SW */ A_INT32 mpdus_requed; /* excessive retries */ A_UINT32 tx_ko; -#if defined(AR900B) A_UINT32 tx_xretry; -#endif /* data hw rate code */ A_UINT32 data_rc; /* Scheduler self triggers */ @@ -651,7 +701,6 @@ struct wlan_dbg_tx_stats { A_UINT32 phy_underrun; /* MPDU is more than txop limit */ A_UINT32 txop_ovf; -#if defined(AR900B) /* Number of Sequences posted */ A_UINT32 seq_posted; /* Number of Sequences failed queueing */ @@ -672,10 +721,46 @@ struct wlan_dbg_tx_stats { A_INT32 mpdus_ack_failed; /* Num MPDUs that was dropped du to expiry. */ A_INT32 mpdus_expired; +}; + +#if defined(AR900B) +#define wlan_dbg_tx_stats wlan_dbg_tx_stats_v2 +#else +#define wlan_dbg_tx_stats wlan_dbg_tx_stats_v1 #endif + +/* + * wlan_dbg_rx_stats_v1, _v2: + * differing versions of the wlan_dbg_rx_stats struct used by different + * targets + */ +struct wlan_dbg_rx_stats_v1 { + /* Cnts any change in ring routing mid-ppdu */ + A_INT32 mid_ppdu_route_change; + /* Total number of statuses processed */ + A_INT32 status_rcvd; + /* Extra frags on rings 0-3 */ + A_INT32 r0_frags; + A_INT32 r1_frags; + A_INT32 r2_frags; + A_INT32 r3_frags; + /* MSDUs / MPDUs delivered to HTT */ + A_INT32 htt_msdus; + A_INT32 htt_mpdus; + /* MSDUs / MPDUs delivered to local stack */ + A_INT32 loc_msdus; + A_INT32 loc_mpdus; + /* AMSDUs that have more MSDUs than the status ring size */ + A_INT32 oversize_amsdu; + /* Number of PHY errors */ + A_INT32 phy_errs; + /* Number of PHY errors drops */ + A_INT32 phy_err_drop; + /* Number of mpdu errors - FCS, MIC, ENC etc. */ + A_INT32 mpdu_errs; }; -struct wlan_dbg_rx_stats { +struct wlan_dbg_rx_stats_v2 { /* Cnts any change in ring routing mid-ppdu */ A_INT32 mid_ppdu_route_change; /* Total number of statuses processed */ @@ -699,12 +784,15 @@ struct wlan_dbg_rx_stats { A_INT32 phy_err_drop; /* Number of mpdu errors - FCS, MIC, ENC etc. */ A_INT32 mpdu_errs; -#if defined(AR900B) /* Number of rx overflow errors. */ A_INT32 rx_ovfl_errs; -#endif }; +#if defined(AR900B) +#define wlan_dbg_rx_stats wlan_dbg_rx_stats_v2 +#else +#define wlan_dbg_rx_stats wlan_dbg_rx_stats_v1 +#endif struct wlan_dbg_mem_stats { A_UINT32 iram_free_size; @@ -716,6 +804,28 @@ struct wlan_dbg_peer_stats { A_INT32 dummy; /* REMOVE THIS ONCE REAL PEER STAT COUNTERS ARE ADDED */ }; +/* + * wlan_dbg_rx_rate_info_v1a_t, _v1b_t: + * differing versions of the wlan_dbg_rx_rate_info struct used by different + * targets + */ +typedef struct { + A_UINT32 mcs[10]; + A_UINT32 sgi[10]; + A_UINT32 nss[4]; + A_UINT32 nsts; + A_UINT32 stbc[10]; + A_UINT32 bw[3]; + A_UINT32 pream[6]; + A_UINT32 ldpc; + A_UINT32 txbf; + A_UINT32 mgmt_rssi; + A_UINT32 data_rssi; + A_UINT32 rssi_chain0; + A_UINT32 rssi_chain1; + A_UINT32 rssi_chain2; +} wlan_dbg_rx_rate_info_v1a_t; + typedef struct { A_UINT32 mcs[10]; A_UINT32 sgi[10]; @@ -734,12 +844,15 @@ typedef struct { /* * TEMPORARY: leave rssi_chain3 in place for AR900B builds until code using * rssi_chain3 has been converted to use wlan_dbg_rx_rate_info_v2_t. - * At that time, this rssi_chain3 field will be deleted. */ -#if defined(AR900B) A_UINT32 rssi_chain3; +} wlan_dbg_rx_rate_info_v1b_t; + +#if defined(AR900B) +#define wlan_dbg_rx_rate_info_t wlan_dbg_rx_rate_info_v1b_t +#else +#define wlan_dbg_rx_rate_info_t wlan_dbg_rx_rate_info_v1a_t #endif -} wlan_dbg_rx_rate_info_t ; typedef struct { A_UINT32 mcs[10]; |
