소스 검색

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

Change-Id: I443fa1983da7536ece8a6b198bd29cae6bcd8c0b
CRs-Fixed: 3830439
spuligil 8 달 전
부모
커밋
1b64229b29
2개의 변경된 파일51개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      fw/htt.h
  2. 50 0
      fw/htt_stats.h

+ 1 - 1
fw/htt.h

@@ -831,7 +831,7 @@ typedef enum {
     HTT_STATS_GTX_TAG                               = 199, /* htt_stats_gtx_tlv */
     HTT_STATS_TX_PDEV_WIFI_RADAR_TAG                = 200, /* htt_stats_tx_pdev_wifi_radar_tlv */
     HTT_STATS_TXBF_OFDMA_BE_PARBW_TAG               = 201, /* htt_stats_txbf_ofdma_be_parbw_tlv */
-
+    HTT_STATS_RX_PDEV_RSSI_HIST_TAG                 = 202, /* htt_stats_rx_pdev_rssi_hist_tlv */
 
     HTT_STATS_MAX_TAG,
 } htt_stats_tlv_tag_t;

+ 50 - 0
fw/htt_stats.h

@@ -6009,6 +6009,25 @@ typedef struct {
 /* preserve old name alias for new name consistent with the tag name */
 typedef htt_stats_rx_pdev_ppdu_dur_tlv htt_rx_pdev_ppdu_dur_stats_tlv;
 
+#define HTT_STATS_RX_RSSI_HIST_BINS 24
+#define HTT_STATS_RX_RSSI_HIST_OFFSET_DBM -30
+#define HTT_STATS_RX_RSSI_DB_PER_BIN -3
+
+typedef struct {
+    htt_tlv_hdr_t tlv_hdr;
+
+    /** rssi_in_dbm_ppdu_cnt :
+     * Number of PPDUs received within each RSSI range
+     * rssi_in_dbm_ppdu_cnt[0]  : number of PPDUs received > -30 dBm
+     * rssi_in_dbm_ppdu_cnt[1]  : number of PPDUs received from [-30 to -32] dBm
+     * rssi_in_dbm_ppdu_cnt[2]  : number of PPDUs received from [-33 to -35] dBm
+     * ...
+     * rssi_in_dbm_ppdu_cnt[22] : number of PPDUs received from [-93 to -95] dBm
+     * rssi_in_dbm_ppdu_cnt[23] : number of PPDUs received <= -96 dBm
+     **/
+    A_UINT32 rssi_in_dbm_ppdu_cnt[HTT_STATS_RX_RSSI_HIST_BINS];
+} htt_stats_rx_pdev_rssi_hist_tlv;
+
 /* STATS_TYPE : HTT_DBG_EXT_STATS_PDEV_RX_RATE
  * TLV_TAGS:
  *      - HTT_STATS_RX_PDEV_RATE_STATS_TAG
@@ -6021,6 +6040,7 @@ typedef htt_stats_rx_pdev_ppdu_dur_tlv htt_rx_pdev_ppdu_dur_stats_tlv;
 typedef struct {
     htt_stats_rx_pdev_rate_stats_tlv rate_tlv;
     htt_stats_rx_pdev_ppdu_dur_tlv rx_ppdu_dur_tlv;
+    htt_stats_rx_pdev_rssi_hist_tlv rx_ppdu_rssi_hist_tlv;
 } htt_rx_pdev_rate_stats_t;
 #endif /* ATH_TARGET */
 
@@ -9098,6 +9118,19 @@ typedef struct {
 /* preserve old name alias for new name consistent with the tag name */
 typedef htt_stats_phy_counters_tlv htt_phy_counters_tlv;
 
+#define HTT_STATS_ANI_MODE_M 0x000000ff
+#define HTT_STATS_ANI_MODE_S 0
+
+#define HTT_STATS_ANI_MODE_GET(_var) \
+    (((_var) & HTT_STATS_ANI_MODE_M) >> \
+     HTT_STATS_ANI_MODE_S)
+
+#define HTT_STATS_ANI_MODE_SET(_var, _val) \
+    do { \
+        HTT_CHECK_SET_VAL(HTT_STATS_ANI_MODE, _val); \
+        ((_var) |= ((_val) << HTT_STATS_ANI_MODE_S)); \
+    } while (0)
+
 typedef struct {
     htt_tlv_hdr_t tlv_hdr;
     /** per chain hw noise floor values in dBm */
@@ -9151,6 +9184,23 @@ typedef struct {
     A_UINT32 band_center_frequency_DBW;
 
     /** DFS SW based progressive stats - end **/
+
+    /* BIT [ 7 :  0]   :- ani_mode
+     * BIT [31 :  8]   :- reserved
+     *
+     * ani_mode:
+     *     1 for static ANI
+     *     0 for dynamic ANI
+     *     0xFF for ANI disabled
+     */
+    union {
+        A_UINT32 dword__ani_mode;
+        struct {
+            A_UINT32
+                ani_mode: 8,
+                reserved: 24;
+        };
+    };
 } htt_stats_phy_stats_tlv;
 /* preserve old name alias for new name consistent with the tag name */
 typedef htt_stats_phy_stats_tlv htt_phy_stats_tlv;