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

Change-Id: Ieda49ad3249b9daae5b4bbffdd2d6ba73b6665c0
HTT: add definition of PPDU ID bitfields
CRs-Fixed: 2262693
This commit is contained in:
spuligil 2020-02-13 06:01:04 -08:00 • committed by nshrivas
commit 87439dcbfd

116
fw/htt.h
View file

@ -199,9 +199,10 @@
* 3.75 Add fp_ndp and mo_ndp flags in HTT_H2T_MSG_TYPE_RX_RING_SELECTION_CFG.
* 3.76 Add HTT_H2T_MSG_TYPE_3_TUPLE_HASH_CFG msg.
* 3.77 Add HTT_H2T_MSG_TYPE_RX_FULL_MONITOR_MODE msg.
* 3.78 Add htt_ppdu_id def.
*/
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MINOR 77
#define HTT_CURRENT_VERSION_MINOR 78
#define HTT_NUM_TX_FRAG_DESC 1024
@ -14001,4 +14002,117 @@ PREPACK struct htt_chan_caldata_msg {
((_var) |= ((_val) << HTT_CHAN_CALDATA_MSG_FREQ2_S)); \
} while (0)
/**
* @brief - HTT PPDU ID format
*
* @details
* The following field definitions describe the format of the PPDU ID.
* The PPDU ID is truncated to 24 bits for TLVs from TQM.
*
* |31 30|29 24| 23| 22|21 19|18 17|16 12|11 0|
* +---------------------------------------------------------------------------
* |rsvd |seq_cmd_type|tqm_cmd| rsvd |seq_idx|mac_id| hwq_ id | sch id |
* +---------------------------------------------------------------------------
*
* sch id :Schedule command id
* Bits [11 : 0] : monotonically increasing counter to track the
* PPDU posted to a specific transmit queue.
*
* hwq_id: Hardware Queue ID.
* Bits [16 : 12] : Indicates the queue id in the hardware transmit queue.
*
* mac_id: MAC ID
* Bits [18 : 17] : LMAC ID obtained from the whal_mac_struct
*
* seq_idx: Sequence index.
* Bits [21 : 19] : Sequence index indicates all the PPDU belonging to
* a particular TXOP.
*
* tqm_cmd: HWSCH/TQM flag.
* Bit [23] : Always set to 0.
*
* seq_cmd_type: Sequence command type.
* Bit [29 : 24] : Indicates the frame type for the current sequence.
* Refer to enum HTT_STATS_FTYPE for values.
*/
PREPACK struct htt_ppdu_id {
A_UINT32
sch_id: 12,
hwq_id: 5,
mac_id: 2,
seq_idx: 3,
reserved1: 1,
tqm_cmd: 1,
seq_cmd_type: 6,
reserved2: 2;
} POSTPACK;
#define HTT_PPDU_ID_SCH_ID_S 0
#define HTT_PPDU_ID_SCH_ID_M 0x00000fff
#define HTT_PPDU_ID_SCH_ID_GET(_var) \
(((_var) & HTT_PPDU_ID_SCH_ID_M) >> HTT_PPDU_ID_SCH_ID_S)
#define HTT_PPDU_ID_SCH_ID_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_PPDU_ID_SCH_ID, _val); \
((_var) |= ((_val) << HTT_PPDU_ID_SCH_ID_S)); \
} while (0)
#define HTT_PPDU_ID_HWQ_ID_S 12
#define HTT_PPDU_ID_HWQ_ID_M 0x0001f000
#define HTT_PPDU_ID_HWQ_ID_GET(_var) \
(((_var) & HTT_PPDU_ID_HWQ_ID_M) >> HTT_PPDU_ID_HWQ_ID_S)
#define HTT_PPDU_ID_HWQ_ID_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_PPDU_ID_HWQ_ID, _val); \
((_var) |= ((_val) << HTT_PPDU_ID_HWQ_ID_S)); \
} while (0)
#define HTT_PPDU_ID_MAC_ID_S 17
#define HTT_PPDU_ID_MAC_ID_M 0x00060000
#define HTT_PPDU_ID_MAC_ID_GET(_var) \
(((_var) & HTT_PPDU_ID_MAC_ID_M) >> HTT_PPDU_ID_MAC_ID_S)
#define HTT_PPDU_ID_MAC_ID_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_PPDU_ID_MAC_ID, _val); \
((_var) |= ((_val) << HTT_PPDU_ID_MAC_ID_S)); \
} while (0)
#define HTT_PPDU_ID_SEQ_IDX_S 19
#define HTT_PPDU_ID_SEQ_IDX_M 0x00380000
#define HTT_PPDU_ID_SEQ_IDX_GET(_var) \
(((_var) & HTT_PPDU_ID_SEQ_IDX_M) >> HTT_PPDU_ID_SEQ_IDX_S)
#define HTT_PPDU_ID_SEQ_IDX_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_PPDU_ID_SEQ_IDX, _val); \
((_var) |= ((_val) << HTT_PPDU_ID_SEQ_IDX_S)); \
} while (0)
#define HTT_PPDU_ID_TQM_CMD_S 23
#define HTT_PPDU_ID_TQM_CMD_M 0x00800000
#define HTT_PPDU_ID_TQM_CMD_GET(_var) \
(((_var) & HTT_PPDU_ID_TQM_CMD_M) >> HTT_PPDU_ID_TQM_CMD_S)
#define HTT_PPDU_ID_TQM_CMD_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_PPDU_ID_TQM_CMD, _val); \
((_var) |= ((_val) << HTT_PPDU_ID_TQM_CMD_S)); \
} while (0)
#define HTT_PPDU_ID_SEQ_CMD_TYPE_S 24
#define HTT_PPDU_ID_SEQ_CMD_TYPE_M 0x3f000000
#define HTT_PPDU_ID_SEQ_CMD_TYPE_GET(_var) \
(((_var) & HTT_PPDU_ID_SEQ_CMD_TYPE_M) >> HTT_PPDU_ID_SEQ_CMD_TYPE_S)
#define HTT_PPDU_ID_SEQ_CMD_TYPE_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_PPDU_ID_SEQ_CMD_TYPE, _val); \
((_var) |= ((_val) << HTT_PPDU_ID_SEQ_CMD_TYPE_S)); \
} while (0)
#endif