Browse Source

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

WMI: add VDEV_OOB_CONNECTION_REQ_CMD,_RESP_EVENT msg defs
Change-Id: I5f33ae6b3153b0d5e4f9b996597869d8b006d215
CRs-Fixed: 2262693
spuligil 1 year ago
parent
commit
d90c14acc4
3 changed files with 67 additions and 1 deletions
  1. 13 0
      fw/wmi_tlv_defs.h
  2. 53 0
      fw/wmi_unified.h
  3. 1 1
      fw/wmi_version.h

+ 13 - 0
fw/wmi_tlv_defs.h

@@ -1410,6 +1410,8 @@ typedef enum {
     WMITLV_TAG_STRUC_wmi_vdev_ch_power_eirp_info,
     WMITLV_TAG_STRUC_wmi_pdev_utf_cmd_fixed_param,
     WMITLV_TAG_STRUC_wmi_pdev_utf_event_fixed_param,
+    WMITLV_TAG_STRUC_wmi_vdev_oob_connection_req_cmd_fixed_param,
+    WMITLV_TAG_STRUC_wmi_vdev_oob_connection_resp_event_fixed_param,
 } WMITLV_TAG_ID;
 /*
  * IMPORTANT: Please add _ALL_ WMI Commands Here.
@@ -1947,6 +1949,7 @@ typedef enum {
     OP(WMI_PDEV_WSI_STATS_INFO_CMDID) \
     OP(WMI_CSA_EVENT_STATUS_INDICATION_CMDID) \
     OP(WMI_VDEV_SCHED_MODE_PROBE_REQ_CMDID) \
+    OP(WMI_VDEV_OOB_CONNECTION_REQ_CMDID) \
     /* add new CMD_LIST elements above this line */
 
 
@@ -2265,6 +2268,7 @@ typedef enum {
     OP(WMI_PDEV_ENHANCED_AOA_PHASEDELTA_EVENTID) \
     OP(WMI_MLO_LINK_STATE_SWITCH_EVENTID) \
     OP(WMI_VDEV_SCHED_MODE_PROBE_RESP_EVENTID) \
+    OP(WMI_VDEV_OOB_CONNECTION_RESP_EVENTID) \
     /* add new EVT_LIST elements above this line */
 
 
@@ -5498,6 +5502,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_CSA_EVENT_STATUS_INDICATION_CMDID);
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_sched_mode_probe_req_fixed_param, wmi_vdev_sched_mode_probe_req_fixed_param, fixed_param, WMITLV_SIZE_FIX)
  WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SCHED_MODE_PROBE_REQ_CMDID);
 
+#define WMITLV_TABLE_WMI_VDEV_OOB_CONNECTION_REQ_CMDID(id,op,buf,len) \
+    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_oob_connection_req_cmd_fixed_param, wmi_vdev_oob_connection_req_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_OOB_CONNECTION_REQ_CMDID);
+
 
 
 /************************** TLV definitions of WMI events *******************************/
@@ -7506,6 +7514,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_STATE_SWITCH_EVENTID);
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_sched_mode_probe_resp_fixed_param, wmi_vdev_sched_mode_probe_resp_fixed_param, fixed_param, WMITLV_SIZE_FIX)
 WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SCHED_MODE_PROBE_RESP_EVENTID);
 
+#define WMITLV_TABLE_WMI_VDEV_OOB_CONNECTION_RESP_EVENTID(id,op,buf,len) \
+    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_oob_connection_resp_event_fixed_param, wmi_vdev_oob_connection_resp_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_OOB_CONNECTION_RESP_EVENTID);
+
+
 
 #ifdef __cplusplus
 }

+ 53 - 0
fw/wmi_unified.h

@@ -633,6 +633,9 @@ typedef enum {
     /** Request to firmware to probe scheduler modes */
     WMI_VDEV_SCHED_MODE_PROBE_REQ_CMDID,
 
+    /** Connect request on the vdev */
+    WMI_VDEV_OOB_CONNECTION_REQ_CMDID,
+
 
     /* peer specific commands */
 
@@ -1838,6 +1841,8 @@ typedef enum {
     WMI_VDEV_LATENCY_LEVEL_EVENTID,
     /** Result from firmware about completed scheduler probing */
     WMI_VDEV_SCHED_MODE_PROBE_RESP_EVENTID,
+    /** Connect response */
+    WMI_VDEV_OOB_CONNECTION_RESP_EVENTID,
 
     /* peer specific events */
     /** FW reauet to kick out the station for reasons like inactivity,lack of response ..etc */
@@ -36975,6 +36980,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
         WMI_RETURN_STRING(WMI_PDEV_WSI_STATS_INFO_CMDID);
         WMI_RETURN_STRING(WMI_CSA_EVENT_STATUS_INDICATION_CMDID);
         WMI_RETURN_STRING(WMI_VDEV_SCHED_MODE_PROBE_REQ_CMDID);
+        WMI_RETURN_STRING(WMI_VDEV_OOB_CONNECTION_REQ_CMDID);
     }
 
     return (A_UINT8 *) "Invalid WMI cmd";
@@ -47026,6 +47032,53 @@ typedef struct {
     A_UINT32 pdev_id;
 } wmi_pdev_utf_event_fixed_param;
 
+typedef enum {
+    /* Used when peer attempts connection with vdev */
+    VDEV_OOB_CONNECT_REQUEST = 0,
+
+    /* Used when upper layers wanted to cancel the connect request */
+    VDEV_OOB_CONNECT_CANCEL = 1,
+
+    /* Used as a response from FW that start request is accepted */
+    VDEV_OOB_CONNECT_STARTED = 2,
+
+    /*
+     * Used as a response when connection is complete, or as a response
+     * to cancel command.
+     */
+    VDEV_OOB_CONNECT_COMPLETED = 3,
+
+    /* Used as a response if connect request can not be honored in FW */
+    VDEV_OOB_CONNECT_CANCELLED = 4,
+
+    VDEV_OOB_CONNECT_INVALID = 255,
+} VDEV_OOB_CONNECT_REQ_RESP_TYPE;
+
+typedef struct {
+    /** TLV tag and len; tag equals
+     * WMITLV_TAG_STRUC_wmi_vdev_oob_connection_req_cmd_fixed_param */
+    A_UINT32 tlv_header;
+    /* VDEV identifier */
+    A_UINT32 vdev_id;
+    /* OOB connection request type based on VDEV_OOB_CONNECT_REQ_RESP_TYPE */
+    A_UINT32 connect_req_type;
+    /* vdev_available_duration:
+     * specifies duration in msecs for which device needs to be available
+     * on vdev chan
+     */
+    A_UINT32 vdev_available_duration;
+} wmi_vdev_oob_connection_req_cmd_fixed_param;
+
+typedef struct {
+    /** TLV tag and len; tag equals
+     * WMITLV_TAG_STRUC_wmi_vdev_oob_connection_resp_event_fixed_param */
+    A_UINT32 tlv_header;
+    /* VDEV identifier */
+    A_UINT32 vdev_id;
+    /* OOB connection response type based on VDEV_OOB_CONNECT_REQ_RESP_TYPE */
+    A_UINT32 connect_resp_type;
+} wmi_vdev_oob_connection_resp_event_fixed_param;
+
 
 
 /* ADD NEW DEFS HERE */

+ 1 - 1
fw/wmi_version.h

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