summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorspuligil <spuligil@codeaurora.org>2019-06-18 12:00:55 -0700
committerspuligil <spuligil@codeaurora.org>2019-06-18 12:00:56 -0700
commitafc41f06fe31108cd80fe97ef6509fd18ae105b1 (patch)
tree9f1196dac893bd3a115cb4d6b3d9346f1ff821a5
parentee3a96b8f2163e0a5134e63e907cf9d29e8cd77f (diff)
fw-api: CL 7400097 - update fw common interface files
HTT stats: add frame_length to htt_ppdu_stats_tx_mgmtctrl_payload_tlv Change-Id: I2d42cf359804ea1649c86521f7769eed7dfc5e0e CRs-Fixed: 2262693
-rw-r--r--fw/htt_ppdu_stats.h33
1 files changed, 30 insertions, 3 deletions
diff --git a/fw/htt_ppdu_stats.h b/fw/htt_ppdu_stats.h
index 7181561e5c2b..f041281ff701 100644
--- a/fw/htt_ppdu_stats.h
+++ b/fw/htt_ppdu_stats.h
@@ -1855,17 +1855,44 @@ typedef struct {
};
} htt_ppdu_stats_flush_tlv;
+#define HTT_PPDU_STATS_TX_MGMTCTRL_TLV_FRAME_LENGTH_M 0x0000ffff
+#define HTT_PPDU_STATS_TX_MGMTCTRL_TLV_FRAME_LENGTH_S 0
+
+#define HTT_PPDU_STATS_TX_MGMTCTRL_TLV_FRAME_LENGTH_GET(_var) \
+ (((_var) & HTT_PPDU_STATS_TX_MGMTCTRL_TLV_FRAME_LENGTH_M) >> \
+ HTT_PPDU_STATS_TX_MGMTCTRL_TLV_FRAME_LENGTH_S)
+
+#define HTT_PPDU_STATS_TX_MGMTCTRL_TLV_FRAME_LENGTH_SET(_var, _val) \
+ do { \
+ HTT_CHECK_SET_VAL(HTT_PPDU_STATS_TX_MGMTCTRL_TLV_FRAME_LENGTH, _val); \
+ ((_var) |= ((_val) << HTT_PPDU_STATS_TX_MGMTCTRL_TLV_FRAME_LENGTH_S)); \
+ } while (0)
+
typedef struct {
htt_tlv_hdr_t tlv_hdr;
+ /*
+ * BIT [ 15 : 0] :- frame_length
+ * BIT [ 31 : 16] :- reserved1
+ */
+ union {
+ A_UINT32 rsvd__frame_length;
+ struct {
+ A_UINT32 frame_length: 16,
+ reserved1: 16; /* set to 0x0 */
+ };
+ };
+
/* Future purpose */
- A_UINT32 reserved1; /* set to 0x0 */
A_UINT32 reserved2; /* set to 0x0 */
A_UINT32 reserved3; /* set to 0x0 */
/* mgmt/ctrl frame payload
- * The size of payload (in bytes) can be derived from the length in
- * tlv parametes, minus the 12 bytes of the above fields.
+ * The size of the actual mgmt payload (in bytes) can be obtained from
+ * the frame_length field.
+ * The size of entire payload including the padding for alignment
+ * (in bytes) can be derived from the length in tlv parametes,
+ * minus the 12 bytes of the above fields.
*/
A_UINT32 payload[1];
} htt_ppdu_stats_tx_mgmtctrl_payload_tlv;