diff --git a/target/inc/wmi_tlv_defs.h b/target/inc/wmi_tlv_defs.h index 0323b55ef7..6342d9d40c 100644 --- a/target/inc/wmi_tlv_defs.h +++ b/target/inc/wmi_tlv_defs.h @@ -717,6 +717,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_peer_reorder_queue_setup_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_peer_reorder_queue_remove_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_set_multiple_mcast_filter_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_mgmt_tx_compl_bundle_event_fixed_param, } WMITLV_TAG_ID; /* @@ -1160,6 +1161,7 @@ typedef enum { OP(WMI_PDEV_SET_MAC_CONFIG_RESP_EVENTID) \ OP(WMI_RADIO_TX_POWER_LEVEL_STATS_EVENTID) \ OP(WMI_P2P_LISTEN_OFFLOAD_STOPPED_EVENTID) \ + OP(WMI_MGMT_TX_BUNDLE_COMPLETION_EVENTID) \ /* add new EVT_LIST elements above this line */ /* TLV definitions of WMI commands */ @@ -1657,13 +1659,13 @@ WMITLV_CREATE_PARAM_STRUC(WMI_RTT_MEASREQ_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_RTT_TSF_CMDID); -/*RTT OEM req Cmd - DEPRECATED */ +/* RTT OEM req Cmd */ #define WMITLV_TABLE_WMI_OEM_REQ_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_OEM_REQ_CMDID); -/* RTT OEM request Cmd */ +/* RTT OEM request Cmd - DEPRECATED */ #define WMITLV_TABLE_WMI_OEM_REQUEST_CMDID(id, op, buf, len) \ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_OEM_REQUEST_CMDID); @@ -3021,6 +3023,13 @@ WMITLV_CREATE_PARAM_STRUC(WMI_TX_PAUSE_EVENTID); WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_mgmt_tx_compl_event_fixed_param, wmi_mgmt_tx_compl_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_TX_COMPLETION_EVENTID); +/* Bundled Mgmt TX completion event */ +#define WMITLV_TABLE_WMI_MGMT_TX_BUNDLE_COMPLETION_EVENTID(id, op, buf, len) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_mgmt_tx_compl_bundle_event_fixed_param, wmi_mgmt_tx_compl_bundle_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, desc_ids, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, status, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_TX_BUNDLE_COMPLETION_EVENTID); + /* VDEV Start response Event */ #define WMITLV_TABLE_WMI_VDEV_START_RESP_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_start_response_event_fixed_param, wmi_vdev_start_response_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) diff --git a/target/inc/wmi_unified.h b/target/inc/wmi_unified.h index 3951c67f14..a6f010e996 100644 --- a/target/inc/wmi_unified.h +++ b/target/inc/wmi_unified.h @@ -1124,6 +1124,9 @@ typedef enum { WMI_OFFLOAD_PROB_RESP_TX_STATUS_EVENTID, /** Event for Mgmt TX completion event */ WMI_MGMT_TX_COMPLETION_EVENTID, + /** Event for Mgmt TX bundle completion event */ + WMI_MGMT_TX_BUNDLE_COMPLETION_EVENTID, + /*ADDBA Related WMI Events */ /** Indication the completion of the prior @@ -2300,6 +2303,9 @@ typedef struct { #define WMI_RSRC_CFG_FLAG_QWRAP_MODE_ENABLE_S 8 #define WMI_RSRC_CFG_FLAG_QWRAP_MODE_ENABLE_M 0x100 + #define WMI_RSRC_CFG_FLAG_MGMT_COMP_EVT_BUNDLE_SUPPORT_S 9 + #define WMI_RSRC_CFG_FLAG_MGMT_COMP_EVT_BUNDLE_SUPPORT_M 0x200 + A_UINT32 flag1; /** @brief smart_ant_cap - Smart Antenna capabilities information @@ -2406,6 +2412,11 @@ typedef struct { #define WMI_RSRC_CFG_FLAG_QWRAP_MODE_ENABLE_GET(word32) \ WMI_RSRC_CFG_FLAG_GET((word32), QWRAP_MODE_ENABLE) +#define WMI_RSRC_CFG_FLAG_MGMT_COMP_EVT_BUNDLE_SUPPORT_SET(word32, value) \ + WMI_RSRC_CFG_FLAG_SET((word32), MGMT_COMP_EVT_BUNDLE_SUPPORT, (value)) +#define WMI_RSRC_CFG_FLAG_MGMT_COMP_EVT_BUNDLE_SUPPORT_GET(word32) \ + WMI_RSRC_CFG_FLAG_GET((word32), MGMT_COMP_EVT_BUNDLE_SUPPORT) + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_init_cmd_fixed_param */ @@ -3912,6 +3923,15 @@ typedef struct { A_UINT32 status; /* WMI_MGMT_TX_COMP_STATUS_TYPE */ } wmi_mgmt_tx_compl_event_fixed_param; +typedef struct { + A_UINT32 tlv_header; + A_UINT32 num_reports; + /* tlv for completion + * A_UINT32 desc_ids[num_reports]; <- from tx_send_cmd + * A_UINT32 status[num_reports]; <- WMI_MGMT_TX_COMP_STATUS_TYPE + */ +} wmi_mgmt_tx_compl_bundle_event_fixed_param; + #define WMI_TPC_RATE_MAX 160 /* WMI_TPC_TX_NUM_CHAIN macro can't be changed without breaking the WMI compatibility */ #define WMI_TPC_TX_NUM_CHAIN 4 diff --git a/target/inc/wmi_version.h b/target/inc/wmi_version.h index c54e88e7ab..58ab61a254 100644 --- a/target/inc/wmi_version.h +++ b/target/inc/wmi_version.h @@ -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_ 262 +#define __WMI_REVISION_ 263 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work