mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
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:
parent
4993ca4e3e
commit
37fee79449
124
fw/htt.h
124
fw/htt.h
@ -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
|
||||
|
@ -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) \
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user