mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-10 06:09:23 -04:00
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:
parent
86dab62fa8
commit
5f82a6fc89
4 changed files with 176 additions and 3 deletions
132
fw/htt.h
132
fw/htt.h
|
|
@ -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 ===============================================*/
|
||||
|
||||
|
|
|
|||
|
|
@ -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 *******************************/
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue