summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xfw/wlan_defs.h139
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];