Преглед на файлове

fw-api: CL 8214264 - update fw common interface files

HTT stats: define HTT_PEER_SCHED_STATS_TLV

Change-Id: I4a5caaaa13f0b17781fe5749d5c945e0f416bcd0
CRs-Fixed: 2262693
spuligil преди 5 години
родител
ревизия
f9be25e95f
променени са 1 файла, в които са добавени 28 реда и са изтрити 2 реда
  1. 28 2
      fw/htt_stats.h

+ 28 - 2
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