|
@@ -319,6 +319,16 @@ enum htt_dbg_ext_stats_type {
|
|
|
*/
|
|
|
HTT_DBG_EXT_STATS_FSE_RX = 28,
|
|
|
|
|
|
+ /* HTT_DBG_EXT_PEER_CTRL_PATH_TXRX_STATS
|
|
|
+ * PARAMS:
|
|
|
+ * - config_param0: [Bit0] : [1] for mac_addr based request
|
|
|
+ * - config_param1: [Bit31 : Bit0] mac_addr31to0
|
|
|
+ * - config_param2: [Bit15 : Bit0] mac_addr47to32
|
|
|
+ * RESP MSG:
|
|
|
+ * - htt_ctrl_path_txrx_stats_t
|
|
|
+ */
|
|
|
+ HTT_DBG_EXT_PEER_CTRL_PATH_TXRX_STATS = 29,
|
|
|
+
|
|
|
/* keep this last */
|
|
|
HTT_DBG_NUM_EXT_STATS = 256,
|
|
|
};
|
|
@@ -340,6 +350,8 @@ enum htt_dbg_ext_stats_type {
|
|
|
((_var) |= ((_val) << HTT_DBG_EXT_PEER_STATS_RESET_S)); \
|
|
|
} while (0)
|
|
|
|
|
|
+#define HTT_STATS_SUBTYPE_MAX 16
|
|
|
+
|
|
|
typedef enum {
|
|
|
HTT_STATS_TX_PDEV_CMN_TAG = 0, /* htt_tx_pdev_stats_cmn_tlv */
|
|
|
HTT_STATS_TX_PDEV_UNDERRUN_TAG = 1, /* htt_tx_pdev_stats_urrn_tlv_v */
|
|
@@ -442,6 +454,8 @@ typedef enum {
|
|
|
HTT_STATS_RX_FSE_STATS_TAG = 98, /* htt_rx_fse_stats_tlv */
|
|
|
HTT_STATS_PEER_SCHED_STATS_TAG = 99, /* htt_peer_sched_stats_tlv */
|
|
|
HTT_STATS_SCHED_TXQ_SUPERCYCLE_TRIGGER_TAG = 100, /* htt_sched_txq_supercycle_triggers_tlv_v */
|
|
|
+ HTT_STATS_PEER_CTRL_PATH_TXRX_STATS_TAG = 101, /* htt_peer_ctrl_path_txrx_stats_tlv */
|
|
|
+ HTT_STATS_PDEV_CTRL_PATH_TX_STATS_TAG = 102, /* htt_pdev_ctrl_path_tx_stats_tlv */
|
|
|
|
|
|
HTT_STATS_MAX_TAG,
|
|
|
} htt_tlv_tag_t;
|
|
@@ -746,6 +760,12 @@ typedef struct {
|
|
|
A_UINT32 tried_mpdu_cnt_hist[1]; /* HTT_TX_PDEV_TRIED_MPDU_CNT_HIST */
|
|
|
} htt_tx_pdev_stats_tried_mpdu_cnt_hist_tlv_v;
|
|
|
|
|
|
+typedef struct {
|
|
|
+ htt_tlv_hdr_t tlv_hdr;
|
|
|
+ /* Num MGMT MPDU transmitted by the target */
|
|
|
+ A_UINT32 fw_tx_mgmt_subtype[HTT_STATS_SUBTYPE_MAX];
|
|
|
+} htt_pdev_ctrl_path_tx_stats_tlv_v;
|
|
|
+
|
|
|
/* STATS_TYPE: HTT_DBG_EXT_STATS_PDEV_TX
|
|
|
* TLV_TAGS:
|
|
|
* - HTT_STATS_TX_PDEV_CMN_TAG
|
|
@@ -756,6 +776,7 @@ typedef struct {
|
|
|
* - HTT_STATS_TX_PDEV_SIFS_HIST_TAG
|
|
|
* - HTT_STATS_TX_PDEV_TX_PPDU_STATS_TAG
|
|
|
* - HTT_STATS_TX_PDEV_TRIED_MPDU_CNT_HIST_TAG
|
|
|
+ * - HTT_STATS_PDEV_CTRL_PATH_TX_STATS_TAG
|
|
|
*/
|
|
|
/* NOTE:
|
|
|
* This structure is for documentation, and cannot be safely used directly.
|
|
@@ -770,6 +791,7 @@ typedef struct _htt_tx_pdev_stats {
|
|
|
htt_tx_pdev_stats_sifs_hist_tlv_v sifs_hist_tlv;
|
|
|
htt_tx_pdev_stats_tx_ppdu_stats_tlv_v tx_su_tlv;
|
|
|
htt_tx_pdev_stats_tried_mpdu_cnt_hist_tlv_v tried_mpdu_cnt_hist_tlv;
|
|
|
+ htt_pdev_ctrl_path_tx_stats_tlv_v ctrl_path_tx_tlv;
|
|
|
} htt_tx_pdev_stats_t;
|
|
|
|
|
|
/* == SOC ERROR STATS == */
|
|
@@ -1365,6 +1387,20 @@ typedef struct {
|
|
|
} htt_peer_sched_stats_tlv;
|
|
|
|
|
|
/* config_param0 */
|
|
|
+
|
|
|
+#define HTT_DBG_EXT_PEER_CTRL_PATH_TXRX_STATS_IS_MAC_ADDR_M 0x00000001
|
|
|
+#define HTT_DBG_EXT_PEER_CTRL_PATH_TXRX_STATS_IS_MAC_ADDR_S 0
|
|
|
+
|
|
|
+#define HTT_DBG_EXT_PEER_CTRL_PATH_TXRX_STATS_IS_MAC_ADDR_GET(_var) \
|
|
|
+ (((_var) & HTT_DBG_EXT_PEER_CTRL_PATH_TXRX_STATS_IS_MAC_ADDR_M) >> \
|
|
|
+ HTT_DBG_EXT_PEER_CTRL_PATH_TXRX_STATS_IS_MAC_ADDR_S)
|
|
|
+
|
|
|
+#define HTT_DBG_EXT_PEER_CTRL_PATH_TXRX_STATS_IS_peer_MAC_ADDR_SET(_var, _val) \
|
|
|
+ do { \
|
|
|
+ HTT_CHECK_SET_VAL(HTT_DBG_EXT_PEER_CTRL_PATH_TXRX_STATS_IS_MAC_ADDR, _val); \
|
|
|
+ ((_var) |= ((_val) << HTT_DBG_EXT_PEER_CTRL_PATH_TXRX_STATS_IS_MAC_ADDR_S)); \
|
|
|
+ } while (0)
|
|
|
+
|
|
|
#define HTT_DBG_EXT_STATS_PEER_INFO_IS_MAC_ADDR_M 0x00000001
|
|
|
#define HTT_DBG_EXT_STATS_PEER_INFO_IS_MAC_ADDR_S 0
|
|
|
|
|
@@ -3596,8 +3632,6 @@ typedef struct {
|
|
|
((_var) |= ((_val) << HTT_RX_PDEV_FW_STATS_MAC_ID_S)); \
|
|
|
} while (0)
|
|
|
|
|
|
-#define HTT_STATS_SUBTYPE_MAX 16
|
|
|
-
|
|
|
typedef struct {
|
|
|
htt_tlv_hdr_t tlv_hdr;
|
|
|
|
|
@@ -3701,6 +3735,16 @@ typedef struct {
|
|
|
A_UINT32 rx_recovery_reset_cnt;
|
|
|
} htt_rx_pdev_fw_stats_tlv;
|
|
|
|
|
|
+typedef struct {
|
|
|
+ htt_tlv_hdr_t tlv_hdr;
|
|
|
+ /* peer mac address */
|
|
|
+ htt_mac_addr peer_mac_addr;
|
|
|
+ /* Num of tx mgmt frames with subtype on peer level */
|
|
|
+ A_UINT32 peer_tx_mgmt_subtype[HTT_STATS_SUBTYPE_MAX];
|
|
|
+ /* Num of rx mgmt frames with subtype on peer level */
|
|
|
+ A_UINT32 peer_rx_mgmt_subtype[HTT_STATS_SUBTYPE_MAX];
|
|
|
+} htt_peer_ctrl_path_txrx_stats_tlv;
|
|
|
+
|
|
|
#define HTT_STATS_PHY_ERR_MAX 43
|
|
|
|
|
|
typedef struct {
|
|
@@ -3802,6 +3846,15 @@ typedef struct {
|
|
|
htt_rx_pdev_fw_stats_phy_err_tlv fw_stats_phy_err_tlv;
|
|
|
} htt_rx_pdev_stats_t;
|
|
|
|
|
|
+/* STATS_TYPE : HTT_DBG_EXT_PEER_CTRL_PATH_TXRX_STATS
|
|
|
+ * TLV_TAGS:
|
|
|
+ * - HTT_STATS_PEER_CTRL_PATH_TXRX_STATS_TAG
|
|
|
+ *
|
|
|
+ */
|
|
|
+typedef struct {
|
|
|
+ htt_peer_ctrl_path_txrx_stats_tlv peer_ctrl_path_txrx_stats_tlv;
|
|
|
+} htt_ctrl_path_txrx_stats_t;
|
|
|
+
|
|
|
#define HTT_PDEV_CCA_STATS_TX_FRAME_INFO_PRESENT (0x1)
|
|
|
#define HTT_PDEV_CCA_STATS_RX_FRAME_INFO_PRESENT (0x2)
|
|
|
#define HTT_PDEV_CCA_STATS_RX_CLEAR_INFO_PRESENT (0x4)
|