Преглед изворни кода

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

Change-Id: If015c474eafeb9ca70bf179881d8aff0979bddb5
CRs-Fixed: 2262693
spuligil пре 1 година
родитељ
комит
0be38c7804
5 измењених фајлова са 57 додато и 2 уклоњено
  1. 1 0
      fw/wlan_module_ids.h
  2. 1 0
      fw/wmi_services.h
  3. 15 0
      fw/wmi_tlv_defs.h
  4. 39 1
      fw/wmi_unified.h
  5. 1 1
      fw/wmi_version.h

+ 1 - 0
fw/wlan_module_ids.h

@@ -155,6 +155,7 @@ typedef enum {
   WLAN_MODULE_BRIDGE_PEER,              /* 0x72 */
   WLAN_MODULE_AUX_MAC_MGR,              /* 0x73 */
   WLAN_MODULE_TCAM,                     /* 0x74 */
+  WLAN_MODULE_P2P_R2,                   /* 0x75 */
 
   WLAN_MODULE_ID_MAX,
   WLAN_MODULE_ID_INVALID = WLAN_MODULE_ID_MAX,

+ 1 - 0
fw/wmi_services.h

@@ -668,6 +668,7 @@ typedef  enum  {
     WMI_SERVICE_SUPPORT_AP_SUSPEND_RESUME = 414, /* FW supports SAP suspend feature */
     WMI_SERVICE_STA_P2P_NDP_CONCURRENCY_SUPPORT = 415, /* FW supports STA + P2P + NAN concurrency */
     WMI_SERVICE_USE_STA_VDEV_FOR_P2P_DEVICE = 416, /* FW supports use of sta vdev to be repurposed for p2p device */
+    WMI_SERVICE_AP_ASSISTED_DFS_CHAN_P2P_SESSION = 417, /* FW supports P2P session on DFS chan enabled by DFS master AP */
 
 
     WMI_MAX_EXT2_SERVICE

+ 15 - 0
fw/wmi_tlv_defs.h

@@ -1438,6 +1438,8 @@ typedef enum {
     WMITLV_TAG_STRUC_wmi_ctrl_path_pdev_bcn_tx_stats_struct,
     WMITLV_TAG_STRUC_wmi_soc_tx_packet_custom_classify_cmd_fixed_param,
     WMITLV_TAG_STRUC_wmi_set_ap_suspend_resume_cmd_fixed_param,
+    WMITLV_TAG_STRUC_wmi_p2p_cli_dfs_ap_bmiss_fixed_param,
+    WMITLV_TAG_STRUC_wmi_p2p_go_dfs_ap_config_fixed_param,
 } WMITLV_TAG_ID;
 /*
  * IMPORTANT: Please add _ALL_ WMI Commands Here.
@@ -1988,6 +1990,7 @@ typedef enum {
     OP(WMI_REQUEST_OPM_STATS_CMDID) \
     OP(WMI_SOC_TX_PACKET_CUSTOM_CLASSIFY_CMDID) \
     OP(WMI_SET_AP_SUSPEND_RESUME_CMDID) \
+    OP(WMI_P2P_GO_DFS_AP_CONFIG_CMDID) \
     /* add new CMD_LIST elements above this line */
 
 
@@ -2312,6 +2315,7 @@ typedef enum {
     OP(WMI_MLO_LINK_INFO_SYNC_EVENTID) \
     OP(WMI_PDEV_ENABLE_XLNA_EVENTID) \
     OP(WMI_REG_CHAN_LIST_CC_EXT2_EVENTID) \
+    OP(WMI_P2P_CLI_DFS_AP_BMISS_DETECTED_EVENTID) \
     /* add new EVT_LIST elements above this line */
 
 
@@ -3905,6 +3909,13 @@ WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_MLO_CONFIG_CMDID);
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_bssid_disallow_list_config_param, bssid_disallow_list, WMITLV_SIZE_VAR)
 WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_DSM_FILTER_CMDID);
 
+/* Add/remove DFS master AP configuration */
+#define WMITLV_TABLE_WMI_P2P_GO_DFS_AP_CONFIG_CMDID(id,op,buf,len) \
+    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_p2p_go_dfs_ap_config_fixed_param, wmi_p2p_go_dfs_ap_config_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
+    WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, bssid, WMITLV_SIZE_VAR) \
+    WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, non_tx_bssid, WMITLV_SIZE_VAR)
+WMITLV_CREATE_PARAM_STRUC(WMI_P2P_GO_DFS_AP_CONFIG_CMDID);
+
 #define WMITLV_TABLE_WMI_ROAM_BLACKLIST_EVENTID(id,op,buf,len) \
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_blacklist_event_fixed_param, wmi_roam_blacklist_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_blacklist_with_timeout_tlv_param, blacklist_with_timeout, WMITLV_SIZE_VAR)
@@ -6941,6 +6952,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_AUDIO_SYNC_START_STOP_EVENTID);
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_audio_sync_q_master_slave_times, audio_sync_q_master_slave_times, WMITLV_SIZE_VAR)
 WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_AUDIO_SYNC_Q_MASTER_SLAVE_OFFSET_EVENTID);
 
+#define WMITLV_TABLE_WMI_P2P_CLI_DFS_AP_BMISS_DETECTED_EVENTID(id, op , buf, len) \
+    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_p2p_cli_dfs_ap_bmiss_fixed_param , wmi_p2p_cli_dfs_ap_bmiss_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_P2P_CLI_DFS_AP_BMISS_DETECTED_EVENTID);
+
 /* Layout of WMI_REPORT_STATS_EVENTID message:
  *    fixed_param;
  *    wmi_chan_cca_stats       chan_cca_stats[];         Array length is specified by num_chan_cca_stats

+ 39 - 1
fw/wmi_unified.h

@@ -994,6 +994,8 @@ typedef enum {
     WMI_P2P_LISTEN_OFFLOAD_START_CMDID,
     /** set listen offload stop related parameters */
     WMI_P2P_LISTEN_OFFLOAD_STOP_CMDID,
+    /** set DFS master AP configuration */
+    WMI_P2P_GO_DFS_AP_CONFIG_CMDID,
 
     /** AP power save specific config */
     /** set AP power save specific param */
@@ -2090,6 +2092,9 @@ typedef enum {
     /** send p2p listen offload stopped event with different reason */
     WMI_P2P_LISTEN_OFFLOAD_STOPPED_EVENTID,
 
+    /** send event to AP assisted P2P GO to change current DFS channel */
+    WMI_P2P_CLI_DFS_AP_BMISS_DETECTED_EVENTID,
+
     /** Send EGAP Info to host */
     WMI_AP_PS_EGAP_INFO_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_AP_PS),
 
@@ -17560,6 +17565,25 @@ typedef struct {
     A_UINT32 vdev_id;
 } wmi_vdev_delete_cmd_fixed_param;
 
+typedef struct {
+    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_p2p_go_dfs_ap_config_fixed_param */
+    /** unique id identifying the VDEV, generated by the caller */
+    A_UINT32 vdev_id;
+    /** "set" field:
+     * HOST to specify a non-zero value if DFS master AP config is to be added,
+     * or a zero value if it is to be removed.
+     */
+    A_UINT32 set;
+    /* The TLVs follows this structure:
+     *  wmi_mac_addr bssid; <-- bssid for P2P GO's STA's connected AP,
+     *                          STA's connected AP is DFS master
+     *  optional TLV used for bssid
+     * wmi_mac_addr non_tx_bssid; <-- bssid for P2P GO's STA's connected AP,
+     *                                if connected to non TX VAP
+     *  optional TLV used for bssid
+     */
+} wmi_p2p_go_dfs_ap_config_fixed_param;
+
 enum WMI_VDEV_UP_FLAGS {
     /** EMA_MBSSID_AP
      * Valid only for STA VDEV.
@@ -27345,7 +27369,6 @@ typedef struct
     A_UINT32      scan_req_id;
 }  wmi_lpi_status_event_fixed_param;
 
-
 typedef struct
 {
     A_UINT32      tlv_header;
@@ -27355,6 +27378,7 @@ typedef struct
     A_UINT32      rssi;
     A_UINT32      vdev_id;
 }  wmi_lpi_handoff_event_fixed_param;
+
 typedef struct
 {
     A_UINT32 tlv_header;
@@ -27363,6 +27387,19 @@ typedef struct
     A_UINT32 isLastResult;  /*is this event a last event of the whole batch scan*/
 }  wmi_batch_scan_result_event_fixed_param;
 
+typedef enum {
+    /** beacons not received from P2P GO */
+    WMI_P2P_GO_BMISS = 0,
+    /** beacons not received from P2 GO's STA's connected AP */
+    WMI_DFS_AP_BMISS = 1,
+} wmi_dfs_ap_bmiss_reason;
+
+typedef struct {
+    A_UINT32 tlv_header;  /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_p2p_cli_dfs_ap_bmiss_fixed_param*/
+    A_UINT32 vdev_id;
+    A_UINT32 reason_code; /* contains a wmi_dfs_ap_bmiss_reason value */
+} wmi_p2p_cli_dfs_ap_bmiss_fixed_param;
+
 typedef struct {
     A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_p2p_noa_event_fixed_param  */
     A_UINT32 vdev_id;
@@ -37833,6 +37870,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
         WMI_RETURN_STRING(WMI_REQUEST_OPM_STATS_CMDID);
         WMI_RETURN_STRING(WMI_SOC_TX_PACKET_CUSTOM_CLASSIFY_CMDID);
         WMI_RETURN_STRING(WMI_SET_AP_SUSPEND_RESUME_CMDID);
+        WMI_RETURN_STRING(WMI_P2P_GO_DFS_AP_CONFIG_CMDID);
     }
 
     return (A_UINT8 *) "Invalid WMI cmd";

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