Bladeren bron

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

HTT stats: add TX_PDEV_SAWF_RATE stats defs (+ minor HTT stats doc improvements)

Change-Id: I8cb1bf90e911c36f72ba7091e2de8fbe63875434
CRs-Fixed: 2262693
spuligil 3 jaren geleden
bovenliggende
commit
e3147c9363
2 gewijzigde bestanden met toevoegingen van 50 en 0 verwijderingen
  1. 2 0
      fw/htt.h
  2. 48 0
      fw/htt_stats.h

+ 2 - 0
fw/htt.h

@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2011-2021 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -725,6 +726,7 @@ typedef enum {
     HTT_STATS_RX_PDEV_BE_UL_MIMO_USER_STATS_TAG    = 141, /* htt_rx_pdev_be_ul_mimo_user_stats_tlv */
     HTT_STATS_RX_RING_STATS_TAG                    = 142, /* htt_rx_fw_ring_stats_tlv_v */
     HTT_STATS_RX_PDEV_BE_UL_TRIG_STATS_TAG         = 143, /* htt_rx_pdev_be_ul_trigger_stats_tlv */
+    HTT_STATS_TX_PDEV_SAWF_RATE_STATS_TAG          = 144, /* htt_tx_pdev_rate_stats_sawf_tlv */
 
 
     HTT_STATS_MAX_TAG,

+ 48 - 0
fw/htt_stats.h

@@ -4105,6 +4105,13 @@ typedef struct {
         ((_var) |= ((_val) << HTT_TX_PDEV_RATE_STATS_MAC_ID_S)); \
     } while (0)
 
+#define HTT_TX_PDEV_STATS_NUM_MCS_DROP_COUNTERS \
+    (HTT_TX_PDEV_STATS_NUM_MCS_COUNTERS + \
+     HTT_TX_PDEV_STATS_NUM_EXTRA_MCS_COUNTERS + \
+     HTT_TX_PDEV_STATS_NUM_EXTRA2_MCS_COUNTERS)
+
+#define HTT_TX_PDEV_STATS_NUM_PER_COUNTERS 101
+
 /*
  * Introduce new TX counters to support 320MHz support and punctured modes
  */
@@ -4261,6 +4268,46 @@ typedef struct {
     A_UINT32 be_mu_mimo_tx_ldpc;
 } htt_tx_pdev_rate_stats_be_tlv;
 
+typedef struct {
+    /*
+     * SAWF pdev rate stats;
+     * placed in a separate TLV to adhere to size restrictions
+     */
+    htt_tlv_hdr_t tlv_hdr;
+
+    /**
+     * Counter incremented when MCS is dropped due to the successive retries
+     * to a peer reaching the configured limit.
+     */
+    A_UINT32 rate_retry_mcs_drop_cnt;
+
+    /**
+     * histogram of MCS rate drop down, indexed by pre-drop MCS
+     */
+    A_UINT32 mcs_drop_rate[HTT_TX_PDEV_STATS_NUM_MCS_DROP_COUNTERS];
+
+    /**
+     * PPDU PER histogram - each PPDU has its PER computed,
+     * and the bin corresponding to that PER percentage is incremented.
+     */
+    A_UINT32 per_histogram_cnt[HTT_TX_PDEV_STATS_NUM_PER_COUNTERS];
+
+    /**
+     * When the service class contains delay bound rate parameters which
+     * indicate low latency and we enable latency-based RA params then
+     * the low_latency_rate_count will be incremented.
+     * This counts the number of peer-TIDs that have been categorized as
+     * low-latency.
+     */
+    A_UINT32 low_latency_rate_cnt;
+
+    /** Indicate how many times rate drop happened within SIFS burst */
+    A_UINT32 su_burst_rate_drop_cnt;
+
+    /** Indicates how many within SIFS burst failed to deliver any pkt */
+    A_UINT32 su_burst_rate_drop_fail_cnt;
+} htt_tx_pdev_rate_stats_sawf_tlv;
+
 typedef struct {
     htt_tlv_hdr_t tlv_hdr;
 
@@ -4295,6 +4342,7 @@ typedef struct {
 typedef struct {
     htt_tx_pdev_rate_stats_tlv rate_tlv;
     htt_tx_pdev_rate_stats_be_tlv rate_be_tlv;
+    htt_tx_pdev_rate_stats_sawf_tlv rate_sawf_tlv;
 } htt_tx_pdev_rate_stats_t;
 
 /* == PDEV RX RATE CTRL STATS == */