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

HTT,WMI: distinct V0 vs. V1 RX_PEER_METADATA defs

Change-Id: I409300107ae0b83f4346b417a24b2daa7b9afef6
CRs-Fixed: 2262693
This commit is contained in:
spuligil 2020-08-12 12:00:40 -07:00
parent 4993ca4e3e
commit 37fee79449
3 changed files with 157 additions and 3 deletions

124
fw/htt.h
View File

@ -206,9 +206,10 @@
* 3.82 Add WIN_SIZE field to HTT_T2H_MSG_TYPE_RX_DELBA msg.
* 3.83 Shrink seq_idx field in HTT PPDU ID from 3 bits to 2.
* 3.84 Add fisa_control_bits_v2 def.
* 3.85 Add HTT_RX_PEER_META_DATA defs.
*/
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MINOR 84
#define HTT_CURRENT_VERSION_MINOR 85
#define HTT_NUM_TX_FRAG_DESC 1024
@ -14138,5 +14139,126 @@ PREPACK struct htt_ppdu_id {
((_var) |= ((_val) << HTT_PPDU_ID_SEQ_CMD_TYPE_S)); \
} while (0)
/**
* @brief target -> RX PEER METADATA V0 format
* Host will know the peer metadata version from the wmi_service_ready_ext2
* message from target, and will confirm to the target which peer metadata
* version to use in the wmi_init message.
*
* The following diagram shows the format of the RX PEER METADATA.
*
* |31 24|23 16|15 8|7 0|
* |-----------------------------------------------------------------------|
* | Reserved | VDEV ID | PEER ID |
* |-----------------------------------------------------------------------|
*/
PREPACK struct htt_rx_peer_metadata_v0 {
A_UINT32
peer_id: 16,
vdev_id: 8,
reserved1: 8;
} POSTPACK;
#define HTT_RX_PEER_META_DATA_V0_PEER_ID_S 0
#define HTT_RX_PEER_META_DATA_V0_PEER_ID_M 0x0000ffff
#define HTT_RX_PEER_META_DATA_V0_PEER_ID_GET(_var) \
(((_var) & HTT_RX_PEER_META_DATA_V0_PEER_ID_M) >> HTT_RX_PEER_META_DATA_V0_PEER_ID_S)
#define HTT_RX_PEER_META_DATA_V0_PEER_ID_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V0_PEER_ID, _val); \
((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V0_PEER_ID_S)); \
} while (0)
#define HTT_RX_PEER_META_DATA_V0_VDEV_ID_S 16
#define HTT_RX_PEER_META_DATA_V0_VDEV_ID_M 0x00ff0000
#define HTT_RX_PEER_META_DATA_V0_VDEV_ID_GET(_var) \
(((_var) & HTT_RX_PEER_META_DATA_V0_VDEV_ID_M) >> HTT_RX_PEER_META_DATA_V0_VDEV_ID_S)
#define HTT_RX_PEER_META_DATA_V0_VDEV_ID_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V0_VDEV_ID, _val); \
((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V0_VDEV_ID_S)); \
} while (0)
/**
* @brief target -> RX PEER METADATA V1 format
* Host will know the peer metadata version from the wmi_service_ready_ext2
* message from target, and will confirm to the target which peer metadata
* version to use in the wmi_init message.
*
* The following diagram shows the format of the RX PEER METADATA V1 format.
*
* |31 29|28 26|25 24|23 16|15 14| 13 |12 0|
* |-----------------------------------------------------------------------|
* |Rsvd2|CHIP ID|LMAC ID| VDEV ID |Rsvd1|ML PEER| SW PEER ID/ML PEER ID|
* |-----------------------------------------------------------------------|
*/
PREPACK struct htt_rx_peer_metadata_v1 {
A_UINT32
peer_id: 13,
ml_peer_valid: 1,
reserved1: 2,
vdev_id: 8,
lmac_id: 2,
chip_id: 3,
reserved2: 3;
} POSTPACK;
#define HTT_RX_PEER_META_DATA_V1_PEER_ID_S 0
#define HTT_RX_PEER_META_DATA_V1_PEER_ID_M 0x00001fff
#define HTT_RX_PEER_META_DATA_V1_PEER_ID_GET(_var) \
(((_var) & HTT_RX_PEER_META_DATA_V1_PEER_ID_M) >> HTT_RX_PEER_META_DATA_V1_PEER_ID_S)
#define HTT_RX_PEER_META_DATA_V1_PEER_ID_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V1_PEER_ID, _val); \
((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V1_PEER_ID_S)); \
} while (0)
#define HTT_RX_PEER_META_DATA_V1_ML_PEER_VALID_S 13
#define HTT_RX_PEER_META_DATA_V1_ML_PEER_VALID_M 0x00002000
#define HTT_RX_PEER_META_DATA_V1_ML_PEER_VALID_GET(_var) \
(((_var) & HTT_RX_PEER_META_DATA_V1_ML_PEER_VALID_M) >> HTT_RX_PEER_META_DATA_V1_ML_PEER_VALID_S)
#define HTT_RX_PEER_META_DATA_V1_ML_PEER_VALID_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V1_ML_PEER_VALID, _val); \
((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V1_ML_PEER_VALID_S)); \
} while (0)
#define HTT_RX_PEER_META_DATA_V1_VDEV_ID_S 16
#define HTT_RX_PEER_META_DATA_V1_VDEV_ID_M 0x00ff0000
#define HTT_RX_PEER_META_DATA_V1_VDEV_ID_GET(_var) \
(((_var) & HTT_RX_PEER_META_DATA_V1_VDEV_ID_M) >> HTT_RX_PEER_META_DATA_V1_VDEV_ID_S)
#define HTT_RX_PEER_META_DATA_V1_VDEV_ID_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V1_VDEV_ID, _val); \
((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V1_VDEV_ID_S)); \
} while (0)
#define HTT_RX_PEER_META_DATA_V1_LMAC_ID_S 24
#define HTT_RX_PEER_META_DATA_V1_LMAC_ID_M 0x03000000
#define HTT_RX_PEER_META_DATA_V1_LMAC_ID_GET(_var) \
(((_var) & HTT_RX_PEER_META_DATA_V1_LMAC_ID_M) >> HTT_RX_PEER_META_DATA_V1_LMAC_ID_S)
#define HTT_RX_PEER_META_DATA_V1_LMAC_ID_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V1_LMAC_ID, _val); \
((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V1_LMAC_ID_S)); \
} while (0)
#define HTT_RX_PEER_META_DATA_V1_CHIP_ID_S 26
#define HTT_RX_PEER_META_DATA_V1_CHIP_ID_M 0x1c000000
#define HTT_RX_PEER_META_DATA_V1_CHIP_ID_GET(_var) \
(((_var) & HTT_RX_PEER_META_DATA_V1_CHIP_ID_M) >> HTT_RX_PEER_META_DATA_V1_CHIP_ID_S)
#define HTT_RX_PEER_META_DATA_V1_CHIP_ID_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_RX_PEER_META_DATA_V1_CHIP_ID, _val); \
((_var) |= ((_val) << HTT_RX_PEER_META_DATA_V1_CHIP_ID_S)); \
} while (0)
#endif

View File

@ -2824,6 +2824,11 @@ typedef struct {
#define WMI_MAX_USER_PER_PPDU_DL_MUMIMO_SET(dword, value) \
WMI_SET_BITS(dword, 16, 16, value)
#define WMI_TARGET_CAP_FLAGS_RX_PEER_METADATA_VERSION_GET(target_cap_flags) \
WMI_GET_BITS(target_cap_flags, 0, 2)
#define WMI_TARGET_CAP_FLAGS_RX_PEER_METADATA_VERSION_SET(target_cap_flags, value) \
WMI_SET_BITS(target_cap_flags, 0, 2, value)
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_service_ready_ext2_event_fixed_param.*/
@ -2887,6 +2892,18 @@ typedef struct {
* If max_user_per_ppdu_mumimo == 0 the UL/DL max users are unspecified.
*/
A_UINT32 max_user_per_ppdu_mumimo;
/**
* @brief target_cap_flags - flags containing information about target capabilities.
* Bits 1:0
* Rx peer metadata version number used by target
* 0-> legacy case
* 1-> MLO support
* 2,3-> reserved
* Refer to WMI_TARGET_CAP_FLAGS_PEER_METADATA_VERSION macros.
* Bits 31:2 - Reserved
*/
A_UINT32 target_cap_flags;
} wmi_service_ready_ext2_event_fixed_param;
typedef struct {
@ -3683,7 +3700,17 @@ typedef struct {
*
* Refer to the below WMI_RSRC_CFG_FLAGS2_RE_ULRESP_PDEV_CFG_GET/SET
* macros.
* Bits 31:4 - Reserved
* Bits 5:4
* HTT rx peer metadata version number that host supports.
* Firmware intially sends the target supported version number
* as part of service_ready_ext2 message.
* Host can ack the version number that it is using as part of
* this message.
* 0-> legacy case
* 1-> MLO support
* 2-3-> Reserved
* Refer to the WMI_RSRC_CFG_FLAGS2_RX_PEER_METADATA_VERSION macros.
* Bits 31:6 - Reserved
*/
A_UINT32 flags2;
/** @brief host_service_flags - can be used by Host to indicate
@ -3940,6 +3967,11 @@ typedef struct {
#define WMI_RSRC_CFG_FLAGS2_RE_ULRESP_PDEV_CFG_SET(flags2, pdev_id, value) \
WMI_SET_BITS(flags2, pdev_id, 1, value)
#define WMI_RSRC_CFG_FLAGS2_RX_PEER_METADATA_VERSION_GET(flags2) \
WMI_GET_BITS(flags2, 4, 2)
#define WMI_RSRC_CFG_FLAGS2_RX_PEER_METADATA_VERSION_SET(flags2, value) \
WMI_SET_BITS(flags2, 4, 2, value)
#define WMI_RSRC_CFG_HOST_SERVICE_FLAG_NAN_IFACE_SUPPORT_GET(host_service_flags) \
WMI_GET_BITS(host_service_flags, 0, 1)
#define WMI_RSRC_CFG_HOST_SERVICE_FLAG_NAN_IFACE_SUPPORT_SET(host_service_flags, val) \

View File

@ -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_ 879
#define __WMI_REVISION_ 880
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work