fw-api: CL 12378129 - update fw common interface files
WMI/HTT: negotiate support for split AST Change-Id: I508e24322a86cacbe8e5bcba80c27b7d658a8415 CRs-Fixed: 2262693
This commit is contained in:
73
fw/htt.h
73
fw/htt.h
@@ -208,9 +208,10 @@
|
|||||||
* 3.84 Add fisa_control_bits_v2 def.
|
* 3.84 Add fisa_control_bits_v2 def.
|
||||||
* 3.85 Add HTT_RX_PEER_META_DATA defs.
|
* 3.85 Add HTT_RX_PEER_META_DATA defs.
|
||||||
* 3.86 Add HTT_T2H_MSG_TYPE_FSE_CMEM_BASE_SEND def.
|
* 3.86 Add HTT_T2H_MSG_TYPE_FSE_CMEM_BASE_SEND def.
|
||||||
|
* 3.87 Add on-chip AST index field to PEER_MAP_V2 msg.
|
||||||
*/
|
*/
|
||||||
#define HTT_CURRENT_VERSION_MAJOR 3
|
#define HTT_CURRENT_VERSION_MAJOR 3
|
||||||
#define HTT_CURRENT_VERSION_MINOR 86
|
#define HTT_CURRENT_VERSION_MINOR 87
|
||||||
|
|
||||||
#define HTT_NUM_TX_FRAG_DESC 1024
|
#define HTT_NUM_TX_FRAG_DESC 1024
|
||||||
|
|
||||||
@@ -9181,27 +9182,28 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
|
|||||||
* AST 3, check the AST_VALID_MASK(3) to see if the corresponding extension
|
* AST 3, check the AST_VALID_MASK(3) to see if the corresponding extension
|
||||||
* AST is valid.
|
* AST is valid.
|
||||||
*
|
*
|
||||||
* |31 28|27 24|23 20|19 17|16|15 8|7 0|
|
* |31 28|27 24|23 21|20|19 17|16|15 8|7 0|
|
||||||
* |-----------------------------------------------------------------------|
|
* |-------------------------------------------------------------------------|
|
||||||
* | SW peer ID | VDEV ID | msg type |
|
* | SW peer ID | VDEV ID | msg type |
|
||||||
* |-----------------------------------------------------------------------|
|
* |-------------------------------------------------------------------------|
|
||||||
* | MAC addr 3 | MAC addr 2 | MAC addr 1 | MAC addr 0 |
|
* | MAC addr 3 | MAC addr 2 | MAC addr 1 | MAC addr 0 |
|
||||||
* |-----------------------------------------------------------------------|
|
* |-------------------------------------------------------------------------|
|
||||||
* | HW peer ID / AST index 0 | MAC addr 5 | MAC addr 4 |
|
* | HW peer ID / AST index 0 | MAC addr 5 | MAC addr 4 |
|
||||||
* |-----------------------------------------------------------------------|
|
* |-------------------------------------------------------------------------|
|
||||||
* | Reserved_20_31 |ASTVM|NH| AST Hash Value |
|
* | Reserved_21_31 |OA|ASTVM|NH| AST Hash Value |
|
||||||
* |-----------------------------------------------------------------------|
|
* |-------------------------------------------------------------------------|
|
||||||
* | ASTFM3 | ASTFM2 | ASTFM1 | ASTFM0 | AST index 1 |
|
* | ASTFM3 | ASTFM2 | ASTFM1 | ASTFM0 | AST index 1 |
|
||||||
* |-----------------------------------------------------------------------|
|
* |-------------------------------------------------------------------------|
|
||||||
* |TID valid low pri| TID valid hi pri| AST index 2 |
|
* |TID valid low pri| TID valid hi pri | AST index 2 |
|
||||||
* |-----------------------------------------------------------------------|
|
* |-------------------------------------------------------------------------|
|
||||||
* | Reserved_1 | AST index 3 |
|
* | LMAC/PMAC_RXPCU AST index | AST index 3 |
|
||||||
* |-----------------------------------------------------------------------|
|
* |-------------------------------------------------------------------------|
|
||||||
* | Reserved_2 |
|
* | Reserved_2 |
|
||||||
* |-----------------------------------------------------------------------|
|
* |-------------------------------------------------------------------------|
|
||||||
* Where:
|
* Where:
|
||||||
* NH = Next Hop
|
* NH = Next Hop
|
||||||
* ASTVM = AST valid mask
|
* ASTVM = AST valid mask
|
||||||
|
* OA = on-chip AST valid bit
|
||||||
* ASTFM = AST flow mask
|
* ASTFM = AST flow mask
|
||||||
*
|
*
|
||||||
* The following field definitions describe the format of the rx peer map v2
|
* The following field definitions describe the format of the rx peer map v2
|
||||||
@@ -9244,6 +9246,10 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
|
|||||||
* - AST_VALID_MASK
|
* - AST_VALID_MASK
|
||||||
* Bits 19:17
|
* Bits 19:17
|
||||||
* Purpose: Indicate if the AST 1 through AST 3 are valid
|
* Purpose: Indicate if the AST 1 through AST 3 are valid
|
||||||
|
* - ONCHIP_AST_VALID_FLAG
|
||||||
|
* Bit 20
|
||||||
|
* Purpose: Indicate if the on-chip AST index field (ONCHIP_AST_IDX)
|
||||||
|
* is valid.
|
||||||
* - AST_INDEX_1
|
* - AST_INDEX_1
|
||||||
* Bits 15:0
|
* Bits 15:0
|
||||||
* Purpose: indicate the second AST index for this peer
|
* Purpose: indicate the second AST index for this peer
|
||||||
@@ -9271,6 +9277,13 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
|
|||||||
* - AST_INDEX_3
|
* - AST_INDEX_3
|
||||||
* Bits 15:0
|
* Bits 15:0
|
||||||
* Purpose: indicate the fourth AST index for this peer
|
* Purpose: indicate the fourth AST index for this peer
|
||||||
|
* - ONCHIP_AST_IDX / RESERVED
|
||||||
|
* Bits 31:16
|
||||||
|
* Purpose: This field is valid only when split AST feature is enabled.
|
||||||
|
* The ONCHIP_AST_VALID_FLAG identifies whether this field is valid.
|
||||||
|
* If valid, identifies the HW peer ID corresponding to the peer MAC
|
||||||
|
* address, this ast_idx is used for LMAC modules for RXPCU.
|
||||||
|
* Value: ID used by the LMAC HW to identify the peer
|
||||||
*/
|
*/
|
||||||
#define HTT_RX_PEER_MAP_V2_VDEV_ID_M 0xff00
|
#define HTT_RX_PEER_MAP_V2_VDEV_ID_M 0xff00
|
||||||
#define HTT_RX_PEER_MAP_V2_VDEV_ID_S 8
|
#define HTT_RX_PEER_MAP_V2_VDEV_ID_S 8
|
||||||
@@ -9289,6 +9302,9 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
|
|||||||
#define HTT_RX_PEER_MAP_V2_AST_VALID_MASK_M 0x000e0000
|
#define HTT_RX_PEER_MAP_V2_AST_VALID_MASK_M 0x000e0000
|
||||||
#define HTT_RX_PEER_MAP_V2_AST_VALID_MASK_S 17
|
#define HTT_RX_PEER_MAP_V2_AST_VALID_MASK_S 17
|
||||||
|
|
||||||
|
#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_FLAG_M 0x00100000
|
||||||
|
#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_FLAG_S 20
|
||||||
|
|
||||||
#define HTT_RX_PEER_MAP_V2_AST_INDEX_1_M 0xffff
|
#define HTT_RX_PEER_MAP_V2_AST_INDEX_1_M 0xffff
|
||||||
#define HTT_RX_PEER_MAP_V2_AST_INDEX_1_S 0
|
#define HTT_RX_PEER_MAP_V2_AST_INDEX_1_S 0
|
||||||
#define HTT_RX_PEER_MAP_V2_AST_0_FLOW_MASK_M 0x000f0000
|
#define HTT_RX_PEER_MAP_V2_AST_0_FLOW_MASK_M 0x000f0000
|
||||||
@@ -9310,6 +9326,9 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
|
|||||||
#define HTT_RX_PEER_MAP_V2_AST_INDEX_3_M 0xffff
|
#define HTT_RX_PEER_MAP_V2_AST_INDEX_3_M 0xffff
|
||||||
#define HTT_RX_PEER_MAP_V2_AST_INDEX_3_S 0
|
#define HTT_RX_PEER_MAP_V2_AST_INDEX_3_S 0
|
||||||
|
|
||||||
|
#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_M 0xffff0000
|
||||||
|
#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_S 16
|
||||||
|
|
||||||
#define HTT_RX_PEER_MAP_V2_VDEV_ID_SET(word, value) \
|
#define HTT_RX_PEER_MAP_V2_VDEV_ID_SET(word, value) \
|
||||||
do { \
|
do { \
|
||||||
HTT_CHECK_SET_VAL(HTT_RX_PEER_MAP_V2_VDEV_ID, value); \
|
HTT_CHECK_SET_VAL(HTT_RX_PEER_MAP_V2_VDEV_ID, value); \
|
||||||
@@ -9342,6 +9361,14 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
|
|||||||
#define HTT_RX_PEER_MAP_V2_AST_HASH_VALUE_GET(word) \
|
#define HTT_RX_PEER_MAP_V2_AST_HASH_VALUE_GET(word) \
|
||||||
(((word) & HTT_RX_PEER_MAP_V2_AST_HASH_VALUE_M) >> HTT_RX_PEER_MAP_V2_AST_HASH_VALUE_S)
|
(((word) & HTT_RX_PEER_MAP_V2_AST_HASH_VALUE_M) >> HTT_RX_PEER_MAP_V2_AST_HASH_VALUE_S)
|
||||||
|
|
||||||
|
#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_SET(word, value) \
|
||||||
|
do { \
|
||||||
|
HTT_CHECK_SET_VAL(HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_M, value); \
|
||||||
|
(word) |= (value) << HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_S; \
|
||||||
|
} while (0)
|
||||||
|
#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_GET(word) \
|
||||||
|
(((word) & HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_M) >> HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_S)
|
||||||
|
|
||||||
#define HTT_RX_PEER_MAP_V2_NEXT_HOP_SET(word, value) \
|
#define HTT_RX_PEER_MAP_V2_NEXT_HOP_SET(word, value) \
|
||||||
do { \
|
do { \
|
||||||
HTT_CHECK_SET_VAL(HTT_RX_PEER_MAP_V2_NEXT_HOP, value); \
|
HTT_CHECK_SET_VAL(HTT_RX_PEER_MAP_V2_NEXT_HOP, value); \
|
||||||
@@ -9358,6 +9385,14 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
|
|||||||
#define HTT_RX_PEER_MAP_V2_AST_VALID_MASK_GET(word) \
|
#define HTT_RX_PEER_MAP_V2_AST_VALID_MASK_GET(word) \
|
||||||
(((word) & HTT_RX_PEER_MAP_V2_AST_VALID_MASK_M) >> HTT_RX_PEER_MAP_V2_AST_VALID_MASK_S)
|
(((word) & HTT_RX_PEER_MAP_V2_AST_VALID_MASK_M) >> HTT_RX_PEER_MAP_V2_AST_VALID_MASK_S)
|
||||||
|
|
||||||
|
#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_FLAG_SET(word, value) \
|
||||||
|
do { \
|
||||||
|
HTT_CHECK_SET_VAL(HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_FLAG_M, value); \
|
||||||
|
(word) |= (value) << HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_FLAG_S; \
|
||||||
|
} while (0)
|
||||||
|
#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_MASK_GET(word) \
|
||||||
|
(((word) & HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_FLAG_M) >> HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_FLAG_S)
|
||||||
|
|
||||||
#define HTT_RX_PEER_MAP_V2_AST_INDEX_1_SET(word, value) \
|
#define HTT_RX_PEER_MAP_V2_AST_INDEX_1_SET(word, value) \
|
||||||
do { \
|
do { \
|
||||||
HTT_CHECK_SET_VAL(HTT_RX_PEER_MAP_V2_AST_INDEX_1, value); \
|
HTT_CHECK_SET_VAL(HTT_RX_PEER_MAP_V2_AST_INDEX_1, value); \
|
||||||
|
@@ -489,6 +489,7 @@ typedef enum {
|
|||||||
WMI_SERVICE_TWT_NUDGE = 269, /* Indicates that FW supports TWT Nudge command and event */
|
WMI_SERVICE_TWT_NUDGE = 269, /* Indicates that FW supports TWT Nudge command and event */
|
||||||
WMI_SERVICE_TWT_STATS = 270, /* Indicates that FW supports TWT Get_stats command and event */
|
WMI_SERVICE_TWT_STATS = 270, /* Indicates that FW supports TWT Get_stats command and event */
|
||||||
WMI_SERVICE_TWT_ALL_DIALOG_ID = 271, /* Indicates that FW supports TWT ALL dialog ID(255) for all commands and events, except for TWT add dialog and TWT get stats */
|
WMI_SERVICE_TWT_ALL_DIALOG_ID = 271, /* Indicates that FW supports TWT ALL dialog ID(255) for all commands and events, except for TWT add dialog and TWT get stats */
|
||||||
|
WMI_SERVICE_SPLIT_AST_SUPPORT = 272, /* Indicate that FW supports SPLIT AST table */
|
||||||
|
|
||||||
|
|
||||||
WMI_MAX_EXT2_SERVICE
|
WMI_MAX_EXT2_SERVICE
|
||||||
|
@@ -3108,6 +3108,17 @@ typedef struct {
|
|||||||
*/
|
*/
|
||||||
A_UINT32 pktlog_defs_checksum;
|
A_UINT32 pktlog_defs_checksum;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* max_onchip_ast_index - max AST index that Firmware can generate
|
||||||
|
* max_onchip_ast_index = (ast_table_size-1), where ast_table_size is
|
||||||
|
* dynamically chosen based on num_peers configutation from Host.
|
||||||
|
* Hence Host needs to know the max_onchip_ast_index that Firmware can
|
||||||
|
* generate.
|
||||||
|
* A 0x0 value for max_onchip_ast_index means the target has not specified
|
||||||
|
* a limit.
|
||||||
|
*/
|
||||||
|
A_UINT32 max_onchip_ast_index;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This fixed_param TLV is followed by these additional TLVs:
|
* This fixed_param TLV is followed by these additional TLVs:
|
||||||
* mac_addr_list[num_extra_mac_addr];
|
* mac_addr_list[num_extra_mac_addr];
|
||||||
@@ -3783,7 +3794,12 @@ typedef struct {
|
|||||||
*
|
*
|
||||||
* Refer to WMI_RSRC_CFG_HOST_SERVICE_FLAG_HOST_SUPPORT_MULTI_RADIO_EVTS_PER_RADIO_GET/SET
|
* Refer to WMI_RSRC_CFG_HOST_SERVICE_FLAG_HOST_SUPPORT_MULTI_RADIO_EVTS_PER_RADIO_GET/SET
|
||||||
* macros defined below.
|
* macros defined below.
|
||||||
* Bits 31:2 - Reserved
|
* Bit 2
|
||||||
|
* This bit will be set when host is able to handle split AST feature.
|
||||||
|
* Refer to the below definitions of the
|
||||||
|
* WMI_RSRC_CFG_HOST_SERVICE_FLAG_SPLIT_AST_FEATURE_HOST_SUPPORT_GET
|
||||||
|
* and _SET macros.
|
||||||
|
* Bits 31:3 - Reserved
|
||||||
*/
|
*/
|
||||||
A_UINT32 host_service_flags;
|
A_UINT32 host_service_flags;
|
||||||
|
|
||||||
@@ -4047,6 +4063,11 @@ typedef struct {
|
|||||||
#define WMI_RSRC_CFG_HOST_SERVICE_FLAG_HOST_SUPPORT_MULTI_RADIO_EVTS_PER_RADIO_SET(host_service_flags, val) \
|
#define WMI_RSRC_CFG_HOST_SERVICE_FLAG_HOST_SUPPORT_MULTI_RADIO_EVTS_PER_RADIO_SET(host_service_flags, val) \
|
||||||
WMI_SET_BITS(host_service_flags, 1, 1, val)
|
WMI_SET_BITS(host_service_flags, 1, 1, val)
|
||||||
|
|
||||||
|
#define WMI_RSRC_CFG_HOST_SERVICE_FLAG_SPLIT_AST_FEATURE_HOST_SUPPORT_GET(host_service_flags) \
|
||||||
|
WMI_GET_BITS(host_service_flags, 2, 1)
|
||||||
|
#define WMI_RSRC_CFG_HOST_SERVICE_FLAG_SPLIT_AST_FEATURE_HOST_SUPPORT_SET(host_service_flags, val) \
|
||||||
|
WMI_SET_BITS(host_service_flags, 2, 1, val)
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_init_cmd_fixed_param */
|
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_init_cmd_fixed_param */
|
||||||
|
|
||||||
|
@@ -36,7 +36,7 @@
|
|||||||
#define __WMI_VER_MINOR_ 0
|
#define __WMI_VER_MINOR_ 0
|
||||||
/** WMI revision number has to be incremented when there is a
|
/** WMI revision number has to be incremented when there is a
|
||||||
* change that may or may not break compatibility. */
|
* change that may or may not break compatibility. */
|
||||||
#define __WMI_REVISION_ 935
|
#define __WMI_REVISION_ 936
|
||||||
|
|
||||||
/** The Version Namespace should not be normally changed. Only
|
/** The Version Namespace should not be normally changed. Only
|
||||||
* host and firmware of the same WMI namespace will work
|
* host and firmware of the same WMI namespace will work
|
||||||
|
Reference in New Issue
Block a user