Procházet zdrojové kódy

qcacld-3.0: CL 1434462 update fw common interface files

qcacld-2.0 to qcacld-3.0 propagation

Add WMI changes to send FW response for Peer, Vdev delete command

Change-Id: Icbcf0b68e9ac64252a7206c9f5ea81da6e457457
CRs-fixed: 865207
Manikandan Mohan před 9 roky
rodič
revize
25420011d5

+ 1 - 0
target/inc/wmi_services.h

@@ -140,6 +140,7 @@ typedef enum {
 	WMI_SERVICE_ENTERPRISE_MESH,      /* Enterprise MESH Service Support */
 	WMI_SERVICE_RESTRT_CHNL_SUPPORT,  /* Restricted Channel Support */
 	WMI_SERVICE_BPF_OFFLOAD,          /* FW supports bpf offload */
+	WMI_SERVICE_SYNC_DELETE_CMDS,     /* FW sends response event for Peer, Vdev delete commands */
 
 	WMI_MAX_SERVICE = 128             /* max service */
 } WMI_SERVICE;

+ 19 - 3
target/inc/wmi_tlv_defs.h

@@ -611,6 +611,9 @@ typedef enum {
 	WMITLV_TAG_STRUC_wmi_bpf_vdev_stats_info_evt_fixed_param,
 	WMITLV_TAG_STRUC_wmi_bpf_set_vdev_instructions_cmd_fixed_param,
 	WMITLV_TAG_STRUC_wmi_bpf_del_vdev_instructions_cmd_fixed_param,
+	WMITLV_TAG_STRUC_wmi_vdev_delete_resp_event_fixed_param,
+	WMITLV_TAG_STRUC_wmi_peer_delete_resp_event_fixed_param,
+
 } WMITLV_TAG_ID;
 
 /*
@@ -976,7 +979,10 @@ typedef enum {
 	OP(WMI_PDEV_UTF_SCPC_EVENTID) \
 	OP(WMI_STA_SMPS_FORCE_MODE_COMPLETE_EVENTID) \
 	OP(WMI_BPF_CAPABILIY_INFO_EVENTID) \
-	OP(WMI_BPF_VDEV_STATS_INFO_EVENTID)
+	OP(WMI_BPF_VDEV_STATS_INFO_EVENTID) \
+	OP(WMI_VDEV_DELETE_RESP_EVENTID) \
+	OP(WMI_PEER_DELETE_RESP_EVENTID)
+
 
 /* TLV definitions of WMI commands */
 
@@ -2545,6 +2551,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_START_RESP_EVENTID);
 	WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_stopped_event_fixed_param, wmi_vdev_stopped_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
 WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_STOPPED_EVENTID);
 
+/* VDEV delete response Event */
+#define WMITLV_TABLE_WMI_VDEV_DELETE_RESP_EVENTID(id, op, buf, len) \
+	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_vdev_delete_resp_event_fixed_param, wmi_vdev_delete_resp_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_DELETE_RESP_EVENTID);
+
 /* VDEV Install Key Complete Event */
 #define WMITLV_TABLE_WMI_VDEV_INSTALL_KEY_COMPLETE_EVENTID(id,op,buf,len)					    \
 	WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_install_key_complete_event_fixed_param, wmi_vdev_install_key_complete_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
@@ -2945,10 +2956,15 @@ WMITLV_CREATE_PARAM_STRUC(WMI_OFFLOAD_PROB_RESP_TX_STATUS_EVENTID);
 WMITLV_CREATE_PARAM_STRUC(WMI_HOST_AUTO_SHUTDOWN_EVENTID);
 
 /* peer state Event */
-#define WMITLV_TABLE_WMI_PEER_STATE_EVENTID(id,op,buf,len)				       \
-	WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_state_event_fixed_param, wmi_peer_state_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+#define WMITLV_TABLE_WMI_PEER_STATE_EVENTID(id, op, buf, len) \
+	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_peer_state_event_fixed_param, wmi_peer_state_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
 WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STATE_EVENTID);
 
+/* peer delete response Event */
+#define WMITLV_TABLE_WMI_PEER_DELETE_RESP_EVENTID(id, op, buf, len) \
+	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_peer_delete_resp_event_fixed_param, wmi_peer_delete_resp_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_PEER_DELETE_RESP_EVENTID);
+
 /* peer assoc conf Event */
 #define WMITLV_TABLE_WMI_PEER_ASSOC_CONF_EVENTID(id, op, buf, len) \
 	WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_peer_assoc_conf_event_fixed_param, wmi_peer_assoc_conf_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)

+ 21 - 0
target/inc/wmi_unified.h

@@ -934,6 +934,10 @@ typedef enum {
 
 	/* Return the TSF timestamp of specified vdev */
 	WMI_VDEV_TSF_REPORT_EVENTID,
+
+	/* FW response to Host for vdev delete cmdid */
+	WMI_VDEV_DELETE_RESP_EVENTID,
+
 	/* peer  specific events */
 	/** FW reauet to kick out the station for reasons like inactivity,lack of response ..etc */
 	WMI_PEER_STA_KICKOUT_EVENTID =
@@ -959,6 +963,9 @@ typedef enum {
 	 */
 	WMI_PEER_ASSOC_CONF_EVENTID,
 
+	/* FW response to Host for peer delete cmdid */
+	WMI_PEER_DELETE_RESP_EVENTID,
+
 	/* beacon/mgmt specific events */
 	/** RX management frame. the entire frame is carried along with the event.  */
 	WMI_MGMT_RX_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_MGMT),
@@ -4739,6 +4746,12 @@ typedef struct {
 	A_UINT32 vdev_id;
 } wmi_vdev_stopped_event_fixed_param;
 
+typedef struct {
+	A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_delete_resp_event_fixed_param  */
+	/** unique id identifying the VDEV, generated by the caller */
+	A_UINT32 vdev_id;
+} wmi_vdev_delete_resp_event_fixed_param;
+
 /** common structure used for simple events (stopped, resume_req, standby response) */
 typedef struct {
 	A_UINT32 tlv_header;            /* TLV tag and len; tag would be equivalent to actual event  */
@@ -9907,6 +9920,14 @@ typedef struct {
 	 */
 } wmi_stats_ext_event_fixed_param;
 
+typedef struct {
+	A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_delete_resp_event_fixed_param  */
+	/** unique id identifying the VDEV, generated by the caller */
+	A_UINT32 vdev_id;
+	/** peer MAC address */
+	wmi_mac_addr peer_macaddr;
+} wmi_peer_delete_resp_event_fixed_param;
+
 typedef struct {
 	/* TLV tag and len; tag equals WMITLV_TAG_STRUC_ wmi_peer_state_event_fixed_param */
 	A_UINT32 tlv_header;

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