Parcourir la source

qcacld-3.0: CL 1527757 - update fw common interface files

Propagation from qcacld-2.0 to qcacld-3.0

Add bundled tx mgmt complete event

Change-Id: Ib1ba4b9b4ae60ee6e8095d6cfe754bbf2a1c69b2
CRs-fixed: 865207
Pradeep Reddy POTTETI il y a 8 ans
Parent
commit
67c778a99b
3 fichiers modifiés avec 32 ajouts et 3 suppressions
  1. 11 2
      target/inc/wmi_tlv_defs.h
  2. 20 0
      target/inc/wmi_unified.h
  3. 1 1
      target/inc/wmi_version.h

+ 11 - 2
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)

+ 20 - 0
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

+ 1 - 1
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