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

Change-Id: I63f3739f2d4c06ea57de8708c672b862f3241bd6
HTT: add T2H SAWF_MSDUQ_INFO_IND msg def
CRs-Fixed: 2262693
此提交包含在:
spuligil
2021-12-24 06:01:22 -08:00
父節點 caf8573da5
當前提交 ffe49eb83e

145
fw/htt.h
查看文件

@@ -226,9 +226,10 @@
* 3.100 Add htt_tx_wbm_completion_v3 def.
* 3.101 Add HTT_UL_OFDMA_USER_INFO_V1_BITMAP defs.
* 3.102 Add HTT_H2T_MSG_TYPE_MSI_SETUP def.
* 3.103 Add HTT_T2H_SAWF_MSDUQ_INFO_IND defs.
*/
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MINOR 102
#define HTT_CURRENT_VERSION_MINOR 103
#define HTT_NUM_TX_FRAG_DESC 1024
@@ -9230,6 +9231,7 @@ enum htt_t2h_msg_type {
HTT_T2H_MSG_TYPE_PEER_MAP_V3 = 0x2b,
HTT_T2H_MSG_TYPE_VDEVS_TXRX_STATS_PERIODIC_IND = 0x2c,
HTT_T2H_SAWF_DEF_QUEUES_MAP_REPORT_CONF = 0x2d,
HTT_T2H_SAWF_MSDUQ_INFO_IND = 0x2e,
HTT_T2H_MSG_TYPE_TEST,
@@ -17798,4 +17800,145 @@ PREPACK struct htt_t2h_sawf_def_queues_map_report_conf {
} while (0)
/*
* MSG_TYPE => HTT_T2H_SAWF_MSDUQ_INFO_IND
*
* @details
* When SAWF is enabled and a flow is mapped to a policy during the traffic
* flow if the flow is seen the associated service class is conveyed to the
* target via TCL Data Command. Target on the other hand internally creates the
* MSDUQ. Once the target creates the MSDUQ the target sends the information
* of the newly created MSDUQ and some other identifiers to uniquely identity
* the newly created MSDUQ
*
* |31 27| 24|23 16|15 11|10|9 8|7 4|3 0|
* |------------------------------+----------------------+--------------|
* | peer ID | HTT qtype | msg type |
* |--------+---------------------+---------------+--+---+-------+------|
* |reserved| Ast Index |FO|WC | HLOS | remap|
* | | | | | TID | TID |
* |---------------------+----------------------------------------------|
* | reserved1 | tgt_opaque_id |
* |---------------------+----------------------------------------------|
*
* Header fields:
*
* dword0 - b'7:0 - msg_type: This will be set to
* 0x2e (HTT_T2H_SAWF_MSDUQ_INFO_IND)
* b'15:8 - HTT qtype
* b'31:16 - peer ID
*
* dword1 - b'3:0 - remap TID, as assigned in firmware
* b'7:4 - HLOS TID, as sent by host in TCL Data Command
* hlos_tid : Common to Lithium and Beryllium
* b'9:8 - who_classify_info_sel (WC), as sent by host in
* TCL Data Command : Beryllium
* b10 - flow_override (FO), as sent by host in
* TCL Data Command: Beryllium
* b11:26 - ast_index
* Dummy AST Index in case of Lithium,
* Default AST Index in case of Beryllium
* b27:32 - reserved
*
* dword2 - b'23:0 - tgt_opaque_id Opaque Tx flow number which is a
* unique MSDUQ id in firmware
* b'24:31 - reserved1
*/
PREPACK struct htt_t2h_sawf_msduq_event {
A_UINT32 msg_type : 8,
htt_qtype : 8,
peer_id :16;
A_UINT32 remap_tid : 4,
hlos_tid : 4,
who_classify_info_sel : 2,
flow_override : 1,
ast_index :16,
reserved : 5;
A_UINT32 tgt_opaque_id :24,
reserved1 : 8;
} POSTPACK;
#define HTT_SAWF_MSDUQ_INFO_SIZE (sizeof(struct htt_t2h_sawf_msduq_event))
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_QTYPE_M 0x0000FF00
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_QTYPE_S 8
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_QTYPE_GET(_var) \
(((_var) & HTT_T2H_SAWF_MSDUQ_INFO_HTT_QTYPE_M) >> \
HTT_T2H_SAWF_MSDUQ_INFO_HTT_QTYPE_S)
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_QTYPE_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_T2H_SAWF_MSDUQ_INFO_HTT_QTYPE, _val); \
((_var) |= ((_val) << HTT_T2H_SAWF_MSDUQ_INFO_HTT_QTYPE_S));\
} while (0)
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_PEER_ID_M 0xFFFF0000
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_PEER_ID_S 16
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_PEER_ID_GET(_var) \
(((_var) & HTT_T2H_SAWF_MSDUQ_INFO_HTT_PEER_ID_M) >> \
HTT_T2H_SAWF_MSDUQ_INFO_HTT_PEER_ID_S)
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_PEER_ID_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_T2H_SAWF_MSDUQ_INFO_HTT_PEER_ID, _val); \
((_var) |= ((_val) << HTT_T2H_SAWF_MSDUQ_INFO_HTT_PEER_ID_S)); \
} while (0)
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_REMAP_TID_M 0x0000000F
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_REMAP_TID_S 0
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_REMAP_TID_GET(_var) \
(((_var) & HTT_T2H_SAWF_MSDUQ_INFO_HTT_REMAP_TID_M) >> \
HTT_T2H_SAWF_MSDUQ_INFO_HTT_REMAP_TID_S)
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_REMAP_TID_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_T2H_SAWF_MSDUQ_INFO_HTT_REMAP_TID, _val); \
((_var) |= ((_val) << HTT_T2H_SAWF_MSDUQ_INFO_HTT_REMAP_TID_S)); \
} while (0)
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_HLOS_TID_M 0x000000F0
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_HLOS_TID_S 4
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_HLOS_TID_GET(_var) \
(((_var) & HTT_T2H_SAWF_MSDUQ_INFO_HTT_HLOS_TID_M) >> \
HTT_T2H_SAWF_MSDUQ_INFO_HTT_HLOS_TID_S)
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_HLOS_TID_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_T2H_SAWF_MSDUQ_INFO_HTT_HLOS_TID, _val); \
((_var) |= ((_val) << HTT_T2H_SAWF_MSDUQ_INFO_HTT_HLOS_TID_S)); \
} while (0)
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_WHO_CLASS_INFO_SEL_M 0x00000300
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_WHO_CLASS_INFO_SEL_S 8
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_WHO_CLASS_INFO_SEL_GET(_var) \
(((_var) & HTT_T2H_SAWF_MSDUQ_INFO_HTT_WHO_CLASS_INFO_SEL_M) >> \
HTT_T2H_SAWF_MSDUQ_INFO_HTT_WHO_CLASS_INFO_SEL_S)
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_WHO_CLASS_INFO_SEL_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_T2H_SAWF_MSDUQ_INFO_HTT_WHO_CLASS_INFO_SEL, _val); \
((_var) |= ((_val) << HTT_T2H_SAWF_MSDUQ_INFO_HTT_WHO_CLASS_INFO_SEL_S)); \
} while (0)
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_FLOW_OVERRIDE_M 0x00000400
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_FLOW_OVERRIDE_S 10
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_FLOW_OVERRIDE_GET(_var) \
(((_var) & HTT_T2H_SAWF_MSDUQ_INFO_HTT_FLOW_OVERRIDE_M) >> \
HTT_T2H_SAWF_MSDUQ_INFO_HTT_FLOW_OVERRIDE_S)
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_FLOW_OVERRIDE_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_T2H_SAWF_MSDUQ_INFO_HTT_FLOW_OVERRIDE, _val); \
((_var) |= ((_val) << HTT_T2H_SAWF_MSDUQ_INFO_HTT_FLOW_OVERRIDE_S)); \
} while (0)
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX_M 0x07FFF800
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX_S 11
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX_GET(_var) \
(((_var) & HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX_M) >> \
HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX_S)
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX, _val); \
((_var) |= ((_val) << HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_INDEX_S)); \
} while (0)
#endif