Browse Source

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

HTT stats: add bss_color_id, add htt_ppdu_stats_users_info TLV def

Change-Id: Ib97c8671c9d7af7f7ded0466af3432c95d0c2d9a
CRs-Fixed: 2262693
spuligil 5 years ago
parent
commit
48983d0eed
1 changed files with 74 additions and 0 deletions
  1. 74 0
      fw/htt_ppdu_stats.h

+ 74 - 0
fw/htt_ppdu_stats.h

@@ -46,6 +46,7 @@ enum htt_ppdu_stats_tlv_tag {
     HTT_PPDU_STATS_USR_COMMON_ARRAY_TLV,          /* htt_ppdu_stats_usr_common_array_tlv_v */
     HTT_PPDU_STATS_INFO_TLV,                      /* htt_ppdu_stats_info */
     HTT_PPDU_STATS_TX_MGMTCTRL_PAYLOAD_TLV,       /* htt_ppdu_stats_tx_mgmtctrl_payload_tlv */
+    HTT_PPDU_STATS_USERS_INFO_TLV,                /* htt_ppdu_stats_users_info_tlv */
 
     /* New TLV's are added above to this line */
     HTT_PPDU_STATS_MAX_TAG,
@@ -570,6 +571,19 @@ typedef enum HTT_PPDU_STATS_SPATIAL_REUSE HTT_PPDU_STATS_SPATIAL_REUSE;
         ((_var) |= ((_val) << HTT_PPDU_STATS_COMMON_TLV_SPATIAL_REUSE_S)); \
     } while (0)
 
+#define HTT_PPDU_STATS_COMMON_TLV_BSS_COLOR_ID_M     0x0000003f
+#define HTT_PPDU_STATS_COMMON_TLV_BSS_COLOR_ID_S              0
+
+#define HTT_PPDU_STATS_COMMON_TLV_BSS_COLOR_ID_GET(_var) \
+    (((_var) & HTT_PPDU_STATS_COMMON_TLV_BSS_COLOR_ID_M) >> \
+    HTT_PPDU_STATS_COMMON_TLV_BSS_COLOR_ID_S)
+
+#define HTT_PPDU_STATS_COMMON_TLV_BSS_COLOR_ID_SET(_var, _val) \
+     do { \
+            HTT_CHECK_SET_VAL(HTT_PPDU_STATS_COMMON_TLV_BSS_COLOR_ID, _val); \
+            ((_var) |= ((_val) << HTT_PPDU_STATS_COMMON_TLV_BSS_COLOR_ID_S)); \
+    } while (0)
+
 typedef struct {
     htt_tlv_hdr_t tlv_hdr;
 
@@ -687,12 +701,28 @@ typedef struct {
                      reserved1:              2;
         };
     };
+
     /* ppdu_start_tstmp_u32_us:
      * Upper 32 bits of the PPDU start timestamp.
      * This field can be combined with the ppdu_start_tstmp_us field's
      * lower 32 bits of the PPDU start timestamp to form a 64-bit timestamp.
      */
     A_UINT32 ppdu_start_tstmp_u32_us;
+
+    /*
+     * BIT [5 : 0] - bss_color_id indicates he_bss_color which is an identifier
+     *               of the BSS and is used to assist a receiving STA in
+     *               identifying the BSS from which a PPDU originates.
+     *               Value in the range 0 to 63
+     * BIT [31 : 6] -reserved
+     */
+    union {
+        A_UINT32 reserved__bss_color_id;
+        struct {
+            A_UINT32 bss_color_id:   6,
+                     reserved2:     26;
+        };
+    };
 } htt_ppdu_stats_common_tlv;
 
 #define HTT_PPDU_STATS_USER_COMMON_TLV_TID_NUM_M     0x000000ff
@@ -2229,5 +2259,49 @@ typedef struct {
     A_UINT32 payload[1];
 } htt_ppdu_stats_tx_mgmtctrl_payload_tlv;
 
+#define HTT_PPDU_STATS_USERS_INFO_TLV_MAX_USERS_M   0x000000ff
+#define HTT_PPDU_STATS_USERS_INFO_TLV_MAX_USERS_S            0
+
+#define HTT_PPDU_STATS_USERS_INFO_TLV_MAX_USERS_GET(_var) \
+    (((_var) & HTT_PPDU_STATS_USERS_INFO_TLV_MAX_USERS_M) >> \
+    HTT_PPDU_STATS_USERS_INFO_TLV_MAX_USERS_S)
+
+#define HTT_PPDU_STATS_USERS_INFO_TLV_MAX_USERS_SET(_var, _val) \
+    do { \
+        HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USERS_INFO_TLV_MAX_USERS, _val); \
+        ((_var) |= ((_val) << HTT_PPDU_STATS_USERS_INFO_TLV_MAX_USERS_S)); \
+    } while (0)
+
+#define HTT_PPDU_STATS_USERS_INFO_TLV_FRAME_TYPE_M   0x0000ff00
+#define HTT_PPDU_STATS_USERS_INFO_TLV_FRAME_TYPE_S            8
+
+#define HTT_PPDU_STATS_USERS_INFO_TLV_FRAME_TYPE_GET(_var) \
+    (((_var) & HTT_PPDU_STATS_USERS_INFO_TLV_FRAME_TYPE_M) >> \
+    HTT_PPDU_STATS_USERS_INFO_TLV_FRAME_TYPE_S)
+
+#define HTT_PPDU_STATS_USERS_INFO_TLV_FRAME_TYPE_SET(_var, _val) \
+    do { \
+        HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USERS_INFO_TLV_FRAME_TYPE, _val); \
+        ((_var) |= ((_val) << HTT_PPDU_STATS_USERS_INFO_TLV_FRAME_TYPE_S)); \
+    } while (0)
+
+typedef struct {
+    htt_tlv_hdr_t tlv_hdr;
+
+    /*
+     * BIT [  7 :   0]   :- max_users
+     * BIT [ 15 :   8]   :- frame_type (HTT_STATS_FTYPE)
+     * BIT [ 31 :  16]   :- reserved1
+     */
+    union {
+        A_UINT32 rsvd__frame_type__max_users;
+        struct {
+            A_UINT32 max_users: 8,
+                     frame_type:     8,
+                     reserved1:     16;
+        };
+    };
+} htt_ppdu_stats_users_info_tlv;
+
 
 #endif //__HTT_PPDU_STATS_H__