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

HTT, WMI: add HTT_H2T RXDMA_RXOLE_PPE_CFG msg def
also add WMI_TX_SEND_PARAM_BEAMFORM_GET,_SET macro defs

Change-Id: I0651382365b72309450919837510b9d00b69b6d6
CRs-Fixed: 2262693
This commit is contained in:
spuligil 2021-07-02 06:00:45 -07:00 • committed by Madan Koyyalamudi
commit 5f82a6fc89
4 changed files with 176 additions and 3 deletions

132
fw/htt.h
View file

@ -212,10 +212,11 @@
* 3.88 Add HTT_H2T_MSG_TYPE_HOST_PADDR_SIZE def.
* 3.89 Add MSDU queue enumerations.
* 3.90 Add HTT_T2H_MSG_TYPE_MLO_TIMESTAMP_OFFSET_IND def.
* 3.91 Add TT_T2H_MSG_TYPE_MLO_RX_PEER_MAP, _UNMAP defs.
* 3.91 Add HTT_T2H_MSG_TYPE_MLO_RX_PEER_MAP, _UNMAP defs.
* 3.92 Add HTT_H2T_MSG_TYPE_RXDMA_RXOLE_PPE_CFG def.
*/
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MINOR 91
#define HTT_CURRENT_VERSION_MINOR 92
#define HTT_NUM_TX_FRAG_DESC 1024
@ -528,6 +529,7 @@ enum htt_h2t_msg_type {
HTT_H2T_MSG_TYPE_3_TUPLE_HASH_CFG = 0x16,
HTT_H2T_MSG_TYPE_RX_FULL_MONITOR_MODE = 0x17,
HTT_H2T_MSG_TYPE_HOST_PADDR_SIZE = 0x18,
HTT_H2T_MSG_TYPE_RXDMA_RXOLE_PPE_CFG = 0x19,
/* keep this last */
HTT_H2T_NUM_MSGS
@ -7002,6 +7004,132 @@ PREPACK struct htt_h2t_host_paddr_size_entry_t {
((_var) |= ((_val) << HTT_H2T_HOST_PADDR_SIZE_NUM_ENTRIES_S)); \
} while (0)
/**
* @brief host --> target Host RXDMA RXOLE PPE register configuration
*
* MSG_TYPE => HTT_H2T_MSG_TYPE_RXDMA_RXOLE_PPE_CFG
*
* @details
* The HTT_H2T_MSG_TYPE_RXDMA_RXOLE_PPE_CFG message is sent by the host to
* provide the PPE DS register confiuration for RXOLE and RXDMA.
*
* The message would appear as follows:
*
* |31 19|18 |17 |16 |15 |14 |13 9|8|7 0|
* |---------------------------------+---+---+----------+-+-----------|
* | reserved |IFO|DNO|DRO|IBO|MIO| RDI |O| msg_type |
* |---------------------+---+---+---+---+---+----------+-+-----------|
*
*
* The message is interpreted as follows:
* dword0 - b'0:7 - msg_type: This will be set to
* 0x19 (HTT_H2T_MSG_TYPE_RXDMA_RXOLE_PPE_CFG)
* b'8 - override bit to drive MSDUs to PPE ring
* b'9:13 - REO destination ring indication
* b'14 - Multi buffer msdu override enable bit
* b'15 - Intra BSS override
* b'16 - Decap raw override
* b'17 - Decap Native wifi override
* b'18 - IP frag override
* b'19:31 - reserved
*/
PREPACK struct htt_h2t_msg_type_rxdma_rxole_ppe_cfg_t {
A_UINT32 msg_type: 8, /* HTT_H2T_MSG_TYPE_RXDMA_RXOLE_PPE_CFG */
override: 1,
reo_destination_indication: 5,
multi_buffer_msdu_override_en: 1,
intra_bss_override: 1,
decap_raw_override: 1,
decap_nwifi_override: 1,
ip_frag_override: 1,
reserved: 13;
} POSTPACK;
/* DWORD 0: Override */
#define HTT_PPE_CFG_OVERRIDE_M 0x00000100
#define HTT_PPE_CFG_OVERRIDE_S 8
#define HTT_PPE_CFG_OVERRIDE_GET(_var) \
(((_var) & HTT_PPE_CFG_OVERRIDE_M) >> \
HTT_PPE_CFG_OVERRIDE_S)
#define HTT_PPE_CFG_OVERRIDE_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_PPE_CFG_OVERRIDE, _val); \
((_var) |= ((_val) << HTT_PPE_CFG_OVERRIDE_S)); \
} while (0)
/* DWORD 0: REO Destination Indication*/
#define HTT_PPE_CFG_REO_DEST_IND_M 0x00003E00
#define HTT_PPE_CFG_REO_DEST_IND_S 9
#define HTT_PPE_CFG_REO_DEST_IND_GET(_var) \
(((_var) & HTT_PPE_CFG_REO_DEST_IND_M) >> \
HTT_PPE_CFG_REO_DEST_IND_S)
#define HTT_PPE_CFG_REO_DEST_IND_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_PPE_CFG_REO_DEST_IND, _val); \
((_var) |= ((_val) << HTT_PPE_CFG_REO_DEST_IND_S)); \
} while (0)
/* DWORD 0: Multi buffer MSDU override */
#define HTT_PPE_CFG_MULTI_BUF_MSDU_OVERRIDE_EN_M 0x00004000
#define HTT_PPE_CFG_MULTI_BUF_MSDU_OVERRIDE_EN_S 14
#define HTT_PPE_CFG_MULTI_BUF_MSDU_OVERRIDE_EN_GET(_var) \
(((_var) & HTT_PPE_CFG_MULTI_BUF_MSDU_OVERRIDE_EN_M) >> \
HTT_PPE_CFG_MULTI_BUF_MSDU_OVERRIDE_EN_S)
#define HTT_PPE_CFG_MULTI_BUF_MSDU_OVERRIDE_EN_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_PPE_CFG_MULTI_BUF_MSDU_OVERRIDE_EN, _val); \
((_var) |= ((_val) << HTT_PPE_CFG_MULTI_BUF_MSDU_OVERRIDE_EN_S)); \
} while (0)
/* DWORD 0: Intra BSS override */
#define HTT_PPE_CFG_INTRA_BSS_OVERRIDE_EN_M 0x00008000
#define HTT_PPE_CFG_INTRA_BSS_OVERRIDE_EN_S 15
#define HTT_PPE_CFG_INTRA_BSS_OVERRIDE_EN_GET(_var) \
(((_var) & HTT_PPE_CFG_INTRA_BSS_OVERRIDE_EN_M) >> \
HTT_PPE_CFG_INTRA_BSS_OVERRIDE_EN_S)
#define HTT_PPE_CFG_INTRA_BSS_OVERRIDE_EN_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_PPE_CFG_INTRA_BSS_OVERRIDE_EN, _val); \
((_var) |= ((_val) << HTT_PPE_CFG_INTRA_BSS_OVERRIDE_EN_S)); \
} while (0)
/* DWORD 0: Decap RAW override */
#define HTT_PPE_CFG_DECAP_RAW_OVERRIDE_EN_M 0x00010000
#define HTT_PPE_CFG_DECAP_RAW_OVERRIDE_EN_S 16
#define HTT_PPE_CFG_DECAP_RAW_OVERRIDE_EN_GET(_var) \
(((_var) & HTT_PPE_CFG_DECAP_RAW_OVERRIDE_EN_M) >> \
HTT_PPE_CFG_DECAP_RAW_OVERRIDE_EN_S)
#define HTT_PPE_CFG_DECAP_RAW_OVERRIDE_EN_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_PPE_CFG_DECAP_RAW_OVERRIDE_EN, _val); \
((_var) |= ((_val) << HTT_PPE_CFG_DECAP_RAW_OVERRIDE_EN_S)); \
} while (0)
/* DWORD 0: Decap NWIFI override */
#define HTT_PPE_CFG_DECAP_NWIFI_OVERRIDE_EN_M 0x00020000
#define HTT_PPE_CFG_DECAP_NWIFI_OVERRIDE_EN_S 17
#define HTT_PPE_CFG_DECAP_NWIFI_OVERRIDE_EN_GET(_var) \
(((_var) & HTT_PPE_CFG_DECAP_NWIFI_OVERRIDE_EN_M) >> \
HTT_PPE_CFG_DECAP_NWIFI_OVERRIDE_EN_S)
#define HTT_PPE_CFG_DECAP_NWIFI_OVERRIDE_EN_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_PPE_CFG_DECAP_NWIFI_OVERRIDE_EN, _val); \
((_var) |= ((_val) << HTT_PPE_CFG_DECAP_NWIFI_OVERRIDE_EN_S)); \
} while (0)
/* DWORD 0: IP frag override */
#define HTT_PPE_CFG_IP_FRAG_OVERRIDE_EN_M 0x00040000
#define HTT_PPE_CFG_IP_FRAG_OVERRIDE_EN_S 18
#define HTT_PPE_CFG_IP_FRAG_OVERRIDE_EN_GET(_var) \
(((_var) & HTT_PPE_CFG_IP_FRAG_OVERRIDE_EN_M) >> \
HTT_PPE_CFG_IP_FRAG_OVERRIDE_EN_S)
#define HTT_PPE_CFG_IP_FRAG_OVERRIDE_EN_SET(_var, _val) \
do { \
HTT_CHECK_SET_VAL(HTT_PPE_CFG_IP_FRAG_OVERRIDE_EN, _val); \
((_var) |= ((_val) << HTT_PPE_CFG_IP_FRAG_OVERRIDE_EN_S)); \
} while (0)
/*=== target -> host messages ===============================================*/

View file

@ -1182,6 +1182,7 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_vdev_bcn_offload_ml_quiet_config_params,
WMITLV_TAG_STRUC_wmi_pdev_multiple_vdev_set_param_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_mec_aging_timer_config_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_peer_config_ppe_ds_cmd_fixed_param,
} WMITLV_TAG_ID;
/*
@ -1652,6 +1653,7 @@ typedef enum {
OP(WMI_AFC_CMDID) \
OP(WMI_PDEV_MULTIPLE_VDEV_SET_PARAM_CMDID) \
OP(WMI_PDEV_MEC_AGING_TIMER_CONFIG_CMDID) \
OP(WMI_PEER_CONFIG_PPE_DS_CMDID) \
/* add new CMD_LIST elements above this line */
@ -4745,6 +4747,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_MULTIPLE_VDEV_SET_PARAM_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_mec_aging_timer_config_cmd_fixed_param, wmi_pdev_mec_aging_timer_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_MEC_AGING_TIMER_CONFIG_CMDID);
/* PPE DS config */
#define WMITLV_TABLE_WMI_PEER_CONFIG_PPE_DS_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_config_ppe_ds_cmd_fixed_param, wmi_peer_config_ppe_ds_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_CONFIG_PPE_DS_CMDID);
/************************** TLV definitions of WMI events *******************************/

View file

@ -654,6 +654,9 @@ typedef enum {
*/
WMI_PEER_CONFIG_VLAN_CMDID,
/** WMI command for per-peer configuration of PPE DS */
WMI_PEER_CONFIG_PPE_DS_CMDID,
/* beacon/management specific commands */
@ -5658,6 +5661,10 @@ typedef struct {
#define WMI_TX_SEND_PARAM_CFR_CAPTURE_GET(tx_param_dword1) WMI_GET_BITS(tx_param_dword1, 21, 1)
#define WMI_TX_SEND_PARAM_CFR_CAPTURE_SET(tx_param_dword1, value) WMI_SET_BITS(tx_param_dword1, 21, 1, value)
#define WMI_TX_SEND_PARAM_BEAMFORM_GET(tx_param_dword1) WMI_GET_BITS(tx_param_dword1, 22, 1)
#define WMI_TX_SEND_PARAM_BEAMFORM_SET(tx_param_dword1, value) WMI_SET_BITS(tx_param_dword1, 22, 1, value)
/* TX_SEND flags:
* Bit 0: set wrong txkey
* There is one special WFA test case in STA or AP, setting wrong txkey
@ -28874,6 +28881,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
WMI_RETURN_STRING(WMI_AFC_CMDID);
WMI_RETURN_STRING(WMI_PDEV_MULTIPLE_VDEV_SET_PARAM_CMDID);
WMI_RETURN_STRING(WMI_PDEV_MEC_AGING_TIMER_CONFIG_CMDID);
WMI_RETURN_STRING(WMI_PEER_CONFIG_PPE_DS_CMDID);
}
return "Invalid WMI cmd";
@ -34294,6 +34302,36 @@ typedef struct {
A_UINT32 vdev_id;
} wmi_peer_config_vlan_cmd_fixed_param;
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_peer_config_ppe_ds_cmd_fixed_param */
A_UINT32 tlv_header;
wmi_mac_addr peer_macaddr;
A_UINT32 ppe_routing_enable; /* enum WMI_PPE_ROUTING_TYPE */
/* The processing stages in PPE that this packet buffer need to go through
* and on to which PPE queues these buffers should be mapped to.
* Refer pkg/ppe/src/ppe_sc.h for service code types
*/
A_UINT32 service_code;
A_UINT32 priority_valid;
/* Unique number that represents a VAP's vdev_id in PPE domain */
A_UINT32 src_info;
/* VDEV identifier */
A_UINT32 vdev_id;
} wmi_peer_config_ppe_ds_cmd_fixed_param;
typedef enum {
WMI_PPE_ROUTING_DISABLED = 0,
WMI_AST_USE_PPE_ENABLED = 1,
WMI_AST_USE_PPE_DISABLED = 2,
WMI_PPE_ROUTING_TYPE_MAX,
} WMI_PPE_ROUTING_TYPE;
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_pdev_multiple_vdev_restart_resp_event_fixed_param */

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