summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorspuligil <spuligil@codeaurora.org>2019-09-24 06:00:53 -0700
committerspuligil <spuligil@codeaurora.org>2019-09-24 06:00:54 -0700
commitd8e8fcb95c467b1b34327c2b44ed6b126a135cf4 (patch)
tree112ed46c31a30410b0823639195eb096148f034d
parente81f5513dfc893401cb2f8050dfd8c8629591521 (diff)
fw-api: CL 8214264 - update fw common interface files
HTT stats: define HTT_PEER_SCHED_STATS_TLV Change-Id: I4a5caaaa13f0b17781fe5749d5c945e0f416bcd0 CRs-Fixed: 2262693
-rw-r--r--fw/htt_stats.h30
1 files changed, 28 insertions, 2 deletions
diff --git a/fw/htt_stats.h b/fw/htt_stats.h
index 388154d9ccfb..c2f4e8d648dc 100644
--- a/fw/htt_stats.h
+++ b/fw/htt_stats.h
@@ -143,6 +143,7 @@ enum htt_dbg_ext_stats_type {
* 4 bit htt_tx_tid_stats_tlv/htt_tx_tid_stats_v1_tlv
* 5 bit htt_rx_tid_stats_tlv
* 6 bit htt_msdu_flow_stats_tlv
+ * 7 bit htt_peer_sched_stats_tlv
* - config_param2: [Bit31 : Bit0] mac_addr31to0
* - config_param3: [Bit15 : Bit0] mac_addr47to32
* [Bit 16] If this bit is set, reset per peer stats
@@ -439,6 +440,7 @@ typedef enum {
HTT_STATS_RX_PDEV_UL_MIMO_USER_STATS_TAG = 96, /* htt_rx_pdev_ul_mimo_user_stats_tlv */
HTT_STATS_RX_PDEV_UL_MUMIMO_TRIG_STATS_TAG = 97, /* htt_rx_pdev_ul_mumimo_trig_stats_tlv */
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_MAX_TAG,
} htt_tlv_tag_t;
@@ -1333,10 +1335,26 @@ typedef enum {
HTT_TX_TID_STATS_TLV = 4,
HTT_RX_TID_STATS_TLV = 5,
HTT_MSDU_FLOW_STATS_TLV = 6,
+ HTT_PEER_SCHED_STATS_TLV = 7,
HTT_PEER_STATS_MAX_TLV = 31,
} htt_peer_stats_tlv_enum;
+typedef struct {
+ htt_tlv_hdr_t tlv_hdr;
+ A_UINT32 peer_id;
+ /* Num of DL schedules for peer */
+ A_UINT32 num_sched_dl;
+ /* Num od UL schedules for peer */
+ A_UINT32 num_sched_ul;
+ /* Peer TX time */
+ A_UINT32 peer_tx_active_dur_us_low;
+ A_UINT32 peer_tx_active_dur_us_high;
+ /* Peer RX time */
+ A_UINT32 peer_rx_active_dur_us_low;
+ A_UINT32 peer_rx_active_dur_us_high;
+} htt_peer_sched_stats_tlv;
+
/* config_param0 */
#define HTT_DBG_EXT_STATS_PEER_INFO_IS_MAC_ADDR_M 0x00000001
#define HTT_DBG_EXT_STATS_PEER_INFO_IS_MAC_ADDR_S 0
@@ -1385,6 +1403,7 @@ typedef enum {
* - HTT_STATS_RX_TID_DETAILS_TAG (multiple)
* - HTT_STATS_PEER_MSDU_FLOWQ_TAG (multiple)
* - HTT_STATS_TX_TID_DETAILS_V1_TAG (multiple)
+ * - HTT_STATS_PEER_SCHED_STATS_TAG
*/
/* NOTE:
* This structure is for documentation, and cannot be safely used directly.
@@ -1401,6 +1420,7 @@ typedef struct _htt_peer_stats {
htt_rx_tid_stats_tlv rx_tid_stats[1];
htt_msdu_flow_stats_tlv msdu_flowq[1];
htt_tx_tid_stats_v1_tlv tx_tid_stats_v1[1];
+ htt_peer_sched_stats_tlv peer_sched_stats;
} htt_peer_stats_t;
/* =========== ACTIVE PEER LIST ========== */
@@ -1898,7 +1918,7 @@ typedef struct {
/* NOTE: Variable length TLV, use length spec to infer array size */
typedef struct {
htt_tlv_hdr_t tlv_hdr;
- /* Scheduler command posted per tx_mode su / mu mimo 11ac / mu mimo 11ax / mu ofdma */
+ /* Scheduler command posted per tx_mode */
A_UINT32 sched_cmd_posted[1]; /* HTT_TX_PDEV_SCHED_TX_MODE_MAX */
} htt_sched_txq_cmd_posted_tlv_v;
@@ -1907,7 +1927,7 @@ typedef struct {
/* NOTE: Variable length TLV, use length spec to infer array size */
typedef struct {
htt_tlv_hdr_t tlv_hdr;
- /* Scheduler command reaped per tx_mode su / mu mimo 11ac / mu mimo 11ax / mu ofdma */
+ /* Scheduler command reaped per tx_mode */
A_UINT32 sched_cmd_reaped[1]; /* HTT_TX_PDEV_SCHED_TX_MODE_MAX */
} htt_sched_txq_cmd_reaped_tlv_v;
@@ -2041,6 +2061,12 @@ typedef struct {
A_UINT32 su_min_txtime_sched_delay;
/* scheduled via no delay */
A_UINT32 su_no_delay;
+ /* Num of supercycles for this TxQ */
+ A_UINT32 num_supercycles;
+ /* Num of subcycles with sort for this TxQ */
+ A_UINT32 num_subcycles_with_sort;
+ /* Num of subcycles without sort for this Txq */
+ A_UINT32 num_subcycles_no_sort;
} htt_tx_pdev_stats_sched_per_txq_tlv;
#define HTT_STATS_TX_SCHED_CMN_MAC_ID_M 0x000000ff