|
@@ -412,6 +412,19 @@ enum HTT_PPDU_STATS_BW {
|
|
|
};
|
|
|
typedef enum HTT_PPDU_STATS_BW HTT_PPDU_STATS_BW;
|
|
|
|
|
|
+#define HTT_PPDU_STATS_COMMON_TLV_BW_M 0x000f0000
|
|
|
+#define HTT_PPDU_STATS_COMMON_TLV_BW_S 16
|
|
|
+
|
|
|
+#define HTT_PPDU_STATS_COMMON_TLV_BW_GET(_var) \
|
|
|
+ (((_var) & HTT_PPDU_STATS_COMMON_TLV_BW_M) >> \
|
|
|
+ HTT_PPDU_STATS_COMMON_TLV_BW_S)
|
|
|
+
|
|
|
+#define HTT_PPDU_STATS_COMMON_TLV_BW_SET(_var, _val) \
|
|
|
+ do { \
|
|
|
+ HTT_CHECK_SET_VAL(HTT_PPDU_STATS_COMMON_TLV_BW, _val); \
|
|
|
+ ((_var) |= ((_val) << HTT_PPDU_STATS_COMMON_TLV_BW_S)); \
|
|
|
+ } while (0)
|
|
|
+
|
|
|
enum HTT_PPDU_STATS_SEQ_TYPE {
|
|
|
HTT_SEQTYPE_UNSPECIFIED = 0,
|
|
|
HTT_SEQTYPE_SU = 1,
|
|
@@ -426,8 +439,8 @@ enum HTT_PPDU_STATS_SEQ_TYPE {
|
|
|
};
|
|
|
typedef enum HTT_PPDU_STATS_SEQ_TYPE HTT_PPDU_STATS_SEQ_TYPE;
|
|
|
|
|
|
-#define HTT_PPDU_STATS_COMMON_TLV_PPDU_SEQ_TYPE_M 0x00ff0000
|
|
|
-#define HTT_PPDU_STATS_COMMON_TLV_PPDU_SEQ_TYPE_S 16
|
|
|
+#define HTT_PPDU_STATS_COMMON_TLV_PPDU_SEQ_TYPE_M 0x0ff00000
|
|
|
+#define HTT_PPDU_STATS_COMMON_TLV_PPDU_SEQ_TYPE_S 20
|
|
|
|
|
|
#define HTT_PPDU_STATS_COMMON_TLV_PPDU_SEQ_TYPE_GET(_var) \
|
|
|
(((_var) & HTT_PPDU_STATS_COMMON_TLV_PPDU_SEQ_TYPE_M) >> \
|
|
@@ -439,17 +452,22 @@ typedef enum HTT_PPDU_STATS_SEQ_TYPE HTT_PPDU_STATS_SEQ_TYPE;
|
|
|
((_var) |= ((_val) << HTT_PPDU_STATS_COMMON_TLV_PPDU_SEQ_TYPE_S)); \
|
|
|
} while (0)
|
|
|
|
|
|
-#define HTT_PPDU_STATS_COMMON_TLV_BW_M 0x000f0000
|
|
|
-#define HTT_PPDU_STATS_COMMON_TLV_BW_S 16
|
|
|
+/*
|
|
|
+ * MPROT_TYPE enum values: refer to enum
|
|
|
+ * pcu_ppdu_setup_init__medium_prot_type__e
|
|
|
+ * defined in tlv_enum.h
|
|
|
+ */
|
|
|
+#define HTT_PPDU_STATS_COMMON_TLV_MPROT_TYPE_M 0xf0000000
|
|
|
+#define HTT_PPDU_STATS_COMMON_TLV_MPROT_TYPE_S 28
|
|
|
|
|
|
-#define HTT_PPDU_STATS_COMMON_TLV_BW_GET(_var) \
|
|
|
- (((_var) & HTT_PPDU_STATS_COMMON_TLV_BW_M) >> \
|
|
|
- HTT_PPDU_STATS_COMMON_TLV_BW_S)
|
|
|
+#define HTT_PPDU_STATS_COMMON_TLV_MPROT_TYPE_GET(_var) \
|
|
|
+ (((_var) & HTT_PPDU_STATS_COMMON_TLV_MPROT_TYPE_M) >> \
|
|
|
+ HTT_PPDU_STATS_COMMON_TLV_MPROT_TYPE_S)
|
|
|
|
|
|
-#define HTT_PPDU_STATS_COMMON_TLV_BW_SET(_var, _val) \
|
|
|
+#define HTT_PPDU_STATS_COMMON_TLV_MPROT_TYPE_SET(_var, _val) \
|
|
|
do { \
|
|
|
- HTT_CHECK_SET_VAL(HTT_PPDU_STATS_COMMON_TLV_BW, _val); \
|
|
|
- ((_var) |= ((_val) << HTT_PPDU_STATS_COMMON_TLV_BW_S)); \
|
|
|
+ HTT_CHECK_SET_VAL(HTT_PPDU_STATS_COMMON_TLV_MPROT_TYPE, _val); \
|
|
|
+ ((_var) |= ((_val) << HTT_PPDU_STATS_COMMON_TLV_BW_S)); \
|
|
|
} while (0)
|
|
|
|
|
|
#define HTT_PPDU_STATS_COMMON_TLV_PHY_MODE_M 0x0000ffff
|
|
@@ -511,17 +529,18 @@ typedef struct {
|
|
|
* BIT [ 15: 8] :- queue_type - HTT_TX_QUEUE_TYPE
|
|
|
* BIT [ 19: 16] :- bw - HTT_PPDU_STATS_BW
|
|
|
* BIT [ 27: 20] :- ppdu_seq_type - HTT_PPDU_STATS_SEQ_TYPE
|
|
|
- * BIT [ 31: 28] :- reserved
|
|
|
+ * BIT [ 31: 28] :- mprot_type
|
|
|
*/
|
|
|
union {
|
|
|
A_UINT32 bw__queue_type__frame_type;
|
|
|
A_UINT32 ppdu_seq_type__bw__queue_type__frame_type;
|
|
|
+ A_UINT32 mprot_type__ppdu_seq_type__bw__queue_type__frame_type;
|
|
|
struct {
|
|
|
A_UINT32 frame_type: 8,
|
|
|
queue_type: 8,
|
|
|
bw: 4,
|
|
|
ppdu_seq_type: 8,
|
|
|
- reserved0: 4;
|
|
|
+ mprot_type: 4;
|
|
|
};
|
|
|
};
|
|
|
A_UINT32 chain_mask;
|
|
@@ -590,6 +609,12 @@ typedef struct {
|
|
|
reserved1: 16;
|
|
|
};
|
|
|
};
|
|
|
+ /* 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;
|
|
|
} htt_ppdu_stats_common_tlv;
|
|
|
|
|
|
#define HTT_PPDU_STATS_USER_COMMON_TLV_TID_NUM_M 0x000000ff
|