mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 14:19:09 -04:00
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:
parent
fb27d87873
commit
6f1c4a182d
4 changed files with 78 additions and 21 deletions
73
fw/htt.h
73
fw/htt.h
|
|
@ -208,9 +208,10 @@
|
|||
* 3.84 Add fisa_control_bits_v2 def.
|
||||
* 3.85 Add HTT_RX_PEER_META_DATA defs.
|
||||
* 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_MINOR 86
|
||||
#define HTT_CURRENT_VERSION_MINOR 87
|
||||
|
||||
#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 is valid.
|
||||
*
|
||||
* |31 28|27 24|23 20|19 17|16|15 8|7 0|
|
||||
* |-----------------------------------------------------------------------|
|
||||
* | SW peer ID | VDEV ID | msg type |
|
||||
* |-----------------------------------------------------------------------|
|
||||
* | MAC addr 3 | MAC addr 2 | MAC addr 1 | MAC addr 0 |
|
||||
* |-----------------------------------------------------------------------|
|
||||
* | HW peer ID / AST index 0 | MAC addr 5 | MAC addr 4 |
|
||||
* |-----------------------------------------------------------------------|
|
||||
* | Reserved_20_31 |ASTVM|NH| AST Hash Value |
|
||||
* |-----------------------------------------------------------------------|
|
||||
* | ASTFM3 | ASTFM2 | ASTFM1 | ASTFM0 | AST index 1 |
|
||||
* |-----------------------------------------------------------------------|
|
||||
* |TID valid low pri| TID valid hi pri| AST index 2 |
|
||||
* |-----------------------------------------------------------------------|
|
||||
* | Reserved_1 | AST index 3 |
|
||||
* |-----------------------------------------------------------------------|
|
||||
* | Reserved_2 |
|
||||
* |-----------------------------------------------------------------------|
|
||||
* |31 28|27 24|23 21|20|19 17|16|15 8|7 0|
|
||||
* |-------------------------------------------------------------------------|
|
||||
* | SW peer ID | VDEV ID | msg type |
|
||||
* |-------------------------------------------------------------------------|
|
||||
* | MAC addr 3 | MAC addr 2 | MAC addr 1 | MAC addr 0 |
|
||||
* |-------------------------------------------------------------------------|
|
||||
* | HW peer ID / AST index 0 | MAC addr 5 | MAC addr 4 |
|
||||
* |-------------------------------------------------------------------------|
|
||||
* | Reserved_21_31 |OA|ASTVM|NH| AST Hash Value |
|
||||
* |-------------------------------------------------------------------------|
|
||||
* | ASTFM3 | ASTFM2 | ASTFM1 | ASTFM0 | AST index 1 |
|
||||
* |-------------------------------------------------------------------------|
|
||||
* |TID valid low pri| TID valid hi pri | AST index 2 |
|
||||
* |-------------------------------------------------------------------------|
|
||||
* | LMAC/PMAC_RXPCU AST index | AST index 3 |
|
||||
* |-------------------------------------------------------------------------|
|
||||
* | Reserved_2 |
|
||||
* |-------------------------------------------------------------------------|
|
||||
* Where:
|
||||
* NH = Next Hop
|
||||
* ASTVM = AST valid mask
|
||||
* OA = on-chip AST valid bit
|
||||
* ASTFM = AST flow mask
|
||||
*
|
||||
* 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
|
||||
* Bits 19:17
|
||||
* 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
|
||||
* Bits 15:0
|
||||
* 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
|
||||
* Bits 15:0
|
||||
* 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_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_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_S 0
|
||||
#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_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) \
|
||||
do { \
|
||||
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) \
|
||||
(((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) \
|
||||
do { \
|
||||
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) \
|
||||
(((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) \
|
||||
do { \
|
||||
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_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_SPLIT_AST_SUPPORT = 272, /* Indicate that FW supports SPLIT AST table */
|
||||
|
||||
|
||||
WMI_MAX_EXT2_SERVICE
|
||||
|
|
|
|||
|
|
@ -3108,6 +3108,17 @@ typedef struct {
|
|||
*/
|
||||
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:
|
||||
* 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
|
||||
* 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;
|
||||
|
||||
|
|
@ -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) \
|
||||
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 {
|
||||
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
|
||||
/** WMI revision number has to be incremented when there is a
|
||||
* 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
|
||||
* host and firmware of the same WMI namespace will work
|
||||
|
|
|
|||
Loading…
Reference in a new issue