瀏覽代碼

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

Change-Id: I3b08b78f2d846861e6fb5debb8d2eb19f38aa067
WMI: VDEV_UPDATE_MAC_ADDR cmd + evt msg defs
CRs-Fixed: 2262693
spuligil 3 年之前
父節點
當前提交
b3c678f213
共有 4 個文件被更改,包括 53 次插入1 次删除
  1. 1 0
      fw/wmi_services.h
  2. 14 0
      fw/wmi_tlv_defs.h
  3. 37 0
      fw/wmi_unified.h
  4. 1 1
      fw/wmi_version.h

+ 1 - 0
fw/wmi_services.h

@@ -559,6 +559,7 @@ typedef  enum  {
     WMI_SERVICE_MU_SNIF = 307, /* FW support MU sniffer */
     WMI_SERVICE_ICMP_OFFLOAD = 308, /* FW supports ping offload during APPS suspend */
     WMI_SERVICE_RTSCTS_FOR_UNICAST_MGMT_SUPPORT = 309, /* Indicates FW support RTSCTS for unicast management */
+    WMI_SERVICE_DYNAMIC_VDEV_MAC_ADDR_UPDATE_SUPPORT = 310, /* FW supports dynamic vdev mac address updating */
 
 
     WMI_MAX_EXT2_SERVICE

+ 14 - 0
fw/wmi_tlv_defs.h

@@ -1211,6 +1211,8 @@ typedef enum {
     WMITLV_TAG_STRUC_wmi_fips_extend_cmd_init_params,
     WMITLV_TAG_STRUC_wmi_pdev_fips_extend_event_fixed_param,
     WMITLV_TAG_STRUC_wmi_pdev_fips_mode_set_cmd_fixed_param,
+    WMITLV_TAG_STRUC_wmi_vdev_update_mac_addr_cmd_fixed_param,
+    WMITLV_TAG_STRUC_wmi_vdev_update_mac_addr_conf_event_fixed_param,
 } WMITLV_TAG_ID;
 
 /*
@@ -1691,6 +1693,7 @@ typedef enum {
     OP(WMI_ROAM_SET_PARAM_CMDID) \
     OP(WMI_PDEV_FIPS_EXTEND_CMDID) \
     OP(WMI_PDEV_FIPS_MODE_SET_CMDID) \
+    OP(WMI_VDEV_UPDATE_MAC_ADDR_CMDID) \
     /* add new CMD_LIST elements above this line */
 
 
@@ -1964,6 +1967,7 @@ typedef enum {
     OP(WMI_TWT_ACK_EVENTID) \
     OP(WMI_PDEV_AOA_PHASEDELTA_EVENTID) \
     OP(WMI_PDEV_FIPS_EXTEND_EVENTID) \
+    OP(WMI_VDEV_UPDATE_MAC_ADDR_CONF_EVENTID) \
     /* add new EVT_LIST elements above this line */
 
 
@@ -3193,6 +3197,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_DOWN_CMDID);
 
 WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SET_PARAM_CMDID);
 
+/* Update vdev mac address */
+#define WMITLV_TABLE_WMI_VDEV_UPDATE_MAC_ADDR_CMDID(id,op,buf,len) \
+    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_update_mac_addr_cmd_fixed_param, wmi_vdev_update_mac_addr_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_UPDATE_MAC_ADDR_CMDID);
+
 /* Pdev suspend Cmd */
 #define WMITLV_TABLE_WMI_PDEV_SUSPEND_CMDID(id,op,buf,len)                                                         \
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_suspend_cmd_fixed_param, wmi_pdev_suspend_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
@@ -6536,6 +6545,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_HALPHY_CAL_STATUS_EVENTID);
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_set_halphy_cal_bmap_evt_fixed_param, wmi_pdev_set_halphy_cal_bmap_evt_fixed_param, fixed_param, WMITLV_SIZE_FIX)
 WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_HALPHY_CAL_BMAP_EVENTID);
 
+/* Update vdev mac address conf event to host */
+#define WMITLV_TABLE_WMI_VDEV_UPDATE_MAC_ADDR_CONF_EVENTID(id,op,buf,len) \
+    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_update_mac_addr_conf_event_fixed_param, wmi_vdev_update_mac_addr_conf_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_UPDATE_MAC_ADDR_CONF_EVENTID);
+
 
 #ifdef __cplusplus
 }

+ 37 - 0
fw/wmi_unified.h

@@ -562,6 +562,8 @@ typedef enum {
     WMI_VDEV_SET_MU_SNIF_CMDID,
     /** ICMP OFFLOAD */
     WMI_VDEV_ICMP_OFFLOAD_CMDID,
+    /** Update vdev mac address */
+    WMI_VDEV_UPDATE_MAC_ADDR_CMDID,
 
     /* peer specific commands */
 
@@ -1628,6 +1630,8 @@ typedef enum {
     WMI_VDEV_DISCONNECT_EVENTID,
     /** Send Smart Monitor related params to host */
     WMI_VDEV_SMART_MONITOR_EVENTID,
+    /** Send status of vdev mac address update request to host */
+    WMI_VDEV_UPDATE_MAC_ADDR_CONF_EVENTID,
 
     /* peer specific events */
     /** FW reauet to kick out the station for reasons like inactivity,lack of response ..etc */
@@ -11055,6 +11059,39 @@ typedef struct {
     wmi_mlo_flags mlo_flags; /*only mlo enable and assoc link flag need by vdev start*/
 } wmi_vdev_start_mlo_params;
 
+typedef struct {
+    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_update_mac_addr_cmd_fixed_param */
+    /** Unique id identifying the VDEV to update mac addr */
+    A_UINT32 vdev_id;
+    /** New VDEV MAC address to configure */
+    wmi_mac_addr vdev_macaddr;
+    /** New MLD MAC address to configure */
+    wmi_mac_addr mld_macaddr;
+} wmi_vdev_update_mac_addr_cmd_fixed_param;
+
+typedef struct {
+    A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_update_mac_addr_conf_event_fixed_param */
+    /** Unique id identifying the VDEV */
+    A_UINT32 vdev_id;
+    /*
+     * Status of mac address update request.
+     * Refer to wmi_vdev_update_mac_addr_conf_status.
+     */
+    A_UINT32 status;
+} wmi_vdev_update_mac_addr_conf_event_fixed_param;
+
+/** VDEV update mac address event response status codes */
+typedef enum {
+    /** VDEV mac address updated sucessfully */
+    WMI_VDEV_UPDATE_MAC_ADDR_CONF_STATUS_SUCCESS = 0,
+    /** Requested VDEV not found */
+    WMI_VDEV_UPDATE_MAC_ADDR_CONF_STATUS_INVALID_VDEVID = 1,
+    /** Unsupported VDEV combination.eg: received cmd in VDEV connected state */
+    WMI_VDEV_UPDATE_MAC_ADDR_CONF_STATUS_NOT_SUPPORTED = 2,
+    /** FW internal failure to update mac address */
+    WMI_VDEV_UPDATE_MAC_ADDR_CONF_STATUS_INTERNAL_FAIL = 3,
+} wmi_vdev_update_mac_addr_conf_status;
+
 /** values for vdev_type */
 #define WMI_VDEV_TYPE_AP         0x1
 #define WMI_VDEV_TYPE_STA        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_ 1072
+#define __WMI_REVISION_ 1073
 
 /** The Version Namespace should not be normally changed. Only
  *  host and firmware of the same WMI namespace will work