Browse Source

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

Change-Id: Ic524b2922d5a43948690c187694eab0a99f37c88
WMI: add VDEV_SET_PCL_CMD and PEER_CREATE_CONF msg defs
CRs-Fixed: 2262693
spuligil 5 years ago
parent
commit
3e0e9f46b7
4 changed files with 52 additions and 1 deletions
  1. 2 0
      fw/wmi_services.h
  2. 15 0
      fw/wmi_tlv_defs.h
  3. 34 0
      fw/wmi_unified.h
  4. 1 1
      fw/wmi_version.h

+ 2 - 0
fw/wmi_services.h

@@ -421,6 +421,8 @@ typedef  enum  {
     WMI_SERVICE_NAN_NDI_SAP_SAP_SCC_SUPPORT = 230, /* Support SAP + SAP + NAN discovery + NDI concurrency in SCC mode */
     WMI_SERVICE_NAN_VDEV_SUPPORT = 231, /* indicates firmware is dependent on host to create NAN vdev */
     WMI_SERVICE_AUDIO_SYNC_SUPPORT = 232, /* Indicate FW supports Audio sync feature */
+    WMI_SERVICE_DUAL_STA_ROAM_SUPPORT = 233, /* Indidate FW support dual STA roaming */
+    WMI_SERVICE_PEER_CREATE_CONF = 234, /* Target will send WMI_PEER_CREATE_CONF_EVENTID after WMI_PEER_CREATE_CMDID is processed */
 
 
     /******* ADD NEW SERVICES HERE *******/

+ 15 - 0
fw/wmi_tlv_defs.h

@@ -1041,6 +1041,8 @@ typedef enum {
     WMITLV_TAG_STRUC_wmi_audio_sync_q_master_slave_offset_event_fixed_param,
     WMITLV_TAG_STRUC_wmi_audio_sync_q_master_slave_times,
     WMITLV_TAG_STRUC_wmi_roam_frame_info_tlv_param,
+    WMITLV_TAG_STRUC_wmi_vdev_set_pcl_cmd_fixed_param,
+    WMITLV_TAG_STRUC_wmi_peer_create_conf_event_fixed_param,
 } WMITLV_TAG_ID;
 
 /*
@@ -1467,6 +1469,7 @@ typedef enum {
     OP(WMI_AUDIO_AGGR_SET_GROUP_PROBE_CMDID) \
     OP(WMI_VDEV_AUDIO_SYNC_TRIGGER_CMDID) \
     OP(WMI_VDEV_AUDIO_SYNC_QTIMER_CMDID) \
+    OP(WMI_VDEV_SET_PCL_CMDID) \
     /* add new CMD_LIST elements above this line */
 
 
@@ -1708,6 +1711,7 @@ typedef enum {
     OP(WMI_ROAM_STATS_EVENTID) \
     OP(WMI_VDEV_AUDIO_SYNC_START_STOP_EVENTID) \
     OP(WMI_VDEV_AUDIO_SYNC_Q_MASTER_SLAVE_OFFSET_EVENTID) \
+    OP(WMI_PEER_CREATE_CONF_EVENTID) \
     /* add new EVT_LIST elements above this line */
 
 
@@ -4260,6 +4264,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_AUDIO_SYNC_TRIGGER_CMDID);
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_audio_sync_qtimer_cmd_fixed_param, wmi_audio_sync_qtimer_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
 WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_AUDIO_SYNC_QTIMER_CMDID);
 
+/* Preferred channel list for vdev */
+#define WMITLV_TABLE_WMI_VDEV_SET_PCL_CMDID(id,op,buf,len) \
+    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_set_pcl_cmd_fixed_param, wmi_vdev_set_pcl_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
+    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, channel_weight, WMITLV_SIZE_VAR)
+WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SET_PCL_CMDID);
+
 
 /************************** TLV definitions of WMI events *******************************/
 
@@ -5133,6 +5143,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_DELETE_ALL_PEER_RESP_EVENTID);
     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)
 WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ASSOC_CONF_EVENTID);
 
+/* peer create conf Event */
+#define WMITLV_TABLE_WMI_PEER_CREATE_CONF_EVENTID(id,op,buf,len) \
+    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_create_conf_event_fixed_param, wmi_peer_create_conf_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_PEER_CREATE_CONF_EVENTID);
+
 /* D0-WOW Disable Ack event */
 #define WMITLV_TABLE_WMI_D0_WOW_DISABLE_ACK_EVENTID(id,op,buf,len) \
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_d0_wow_disable_ack_event_fixed_param, wmi_d0_wow_disable_ack_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)

+ 34 - 0
fw/wmi_unified.h

@@ -491,6 +491,8 @@ typedef enum {
     WMI_VDEV_AUDIO_SYNC_TRIGGER_CMDID,
     /** Gives Qtimer value  to FW  */
     WMI_VDEV_AUDIO_SYNC_QTIMER_CMDID,
+    /** Preferred channel list for each vdev */
+    WMI_VDEV_SET_PCL_CMDID,
 
     /* peer specific commands */
 
@@ -1522,6 +1524,11 @@ typedef enum {
 
     WMI_PEER_CFR_CAPTURE_EVENTID,
 
+    /* Peer Create Conf event to confirm fw had received WMI_PEER_CREATE_CMDID
+     * and status of WMI_PEER_CREATE_CMDID.
+     */
+    WMI_PEER_CREATE_CONF_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),
@@ -19223,6 +19230,18 @@ typedef struct {
     wmi_mac_addr peer_macaddr;
 } wmi_peer_assoc_conf_event_fixed_param;
 
+typedef struct {
+    /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_create_conf_event_fixed_param */
+    A_UINT32 tlv_header;
+    /* unique id identifying the VDEV, generated by the caller */
+    A_UINT32 vdev_id;
+    /* peer MAC address */
+    wmi_mac_addr peer_macaddr;
+    /* 0: OK.
+     * 1: FAIL - same bss peer exist already. */
+    A_UINT32 status;
+} wmi_peer_create_conf_event_fixed_param;
+
 enum {
     WMI_2G4_HT40_OBSS_SCAN_PASSIVE = 0,    /** scan_type: passive */
     WMI_2G4_HT40_OBSS_SCAN_ACTIVE, /** scan_type: active */
@@ -23932,6 +23951,21 @@ typedef struct {
     A_UINT32 qslave_u32;
 } wmi_audio_sync_q_master_slave_times;
 
+/** Set Preferred Channel List  **/
+typedef struct {
+    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_set_pcl_cmd_fixed_param */
+    /** vdev_id */
+    A_UINT32 vdev_id;
+/**
+ * TLV (tag length value) parameters follow the wmi_vdev_set_pcl_cmd
+ * structure. The TLV's are:
+ *
+ *     A_UINT32 channel_weight[];
+ *         values definied by enum 'wmi_pcl_chan_weight'
+ *         channel order & size will be as per the list provided in WMI_SCAN_CHAN_LIST_CMDID
+ **/
+} wmi_vdev_set_pcl_cmd_fixed_param;
+
 typedef enum {
     WLAN_2G_CAPABILITY = 0x1,
     WLAN_5G_CAPABILITY = 0x2,

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