diff options
| author | spuligil <spuligil@codeaurora.org> | 2019-06-18 12:00:55 -0700 |
|---|---|---|
| committer | spuligil <spuligil@codeaurora.org> | 2019-06-18 12:00:56 -0700 |
| commit | afc41f06fe31108cd80fe97ef6509fd18ae105b1 (patch) | |
| tree | 9f1196dac893bd3a115cb4d6b3d9346f1ff821a5 | |
| parent | ee3a96b8f2163e0a5134e63e907cf9d29e8cd77f (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.h | 33 |
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; |
