Quellcode durchsuchen

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

Change-Id: Id05081a7a8653d4adfefa7a9354d3d77e2642dfe
WMI: add QUIET_HANDLING_EVENT msg def
CRs-Fixed: 2262693
spuligil vor 3 Jahren
Ursprung
Commit
905bed7cf5
3 geänderte Dateien mit 45 neuen und 1 gelöschten Zeilen
  1. 7 0
      fw/wmi_tlv_defs.h
  2. 37 0
      fw/wmi_unified.h
  3. 1 1
      fw/wmi_version.h

+ 7 - 0
fw/wmi_tlv_defs.h

@@ -1218,6 +1218,7 @@ typedef enum {
     WMITLV_TAG_STRUC_wmi_sawf_svc_class_disable_cmd_fixed_param,
     WMITLV_TAG_STRUC_wmi_roam_frame_event_fixed_param,
     WMITLV_TAG_STRUC_wmi_debug_mesg_fw_cal_failure_param,
+    WMITLV_TAG_STRUC_wmi_quiet_event_fixed_param,
 } WMITLV_TAG_ID;
 
 /*
@@ -1976,6 +1977,7 @@ typedef enum {
     OP(WMI_PDEV_FIPS_EXTEND_EVENTID) \
     OP(WMI_VDEV_UPDATE_MAC_ADDR_CONF_EVENTID) \
     OP(WMI_ROAM_FRAME_EVENTID) \
+    OP(WMI_QUIET_HANDLING_EVENTID) \
     /* add new EVT_LIST elements above this line */
 
 
@@ -6573,6 +6575,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_HALPHY_CAL_BMAP_EVENTID);
     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);
 
+/* Set the WMI Quiet handling EventID  */
+#define WMITLV_TABLE_WMI_QUIET_HANDLING_EVENTID(id,op,buf,len)\
+    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_quiet_event_fixed_param, wmi_quiet_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_QUIET_HANDLING_EVENTID);
+
 
 #ifdef __cplusplus
 }

+ 37 - 0
fw/wmi_unified.h

@@ -284,6 +284,7 @@ typedef enum {
     WMI_GRP_LATENCY,        /* 0x47 TID/AC level latency config */
     WMI_GRP_MLO,            /* 0x48 MLO(Multiple Link Operation) management */
     WMI_GRP_SAWF,           /* 0x49 SAWF (Service Aware WiFi) */
+    WMI_GRP_QUIET_OFL,      /* 0x4a Quiet offloads */
 } WMI_GRP_ID;
 
 #define WMI_CMD_GRP_START_ID(grp_id) (((grp_id) << 12) | 0x1)
@@ -2172,6 +2173,9 @@ typedef enum {
     WMI_MLO_SETUP_COMPLETE_EVENTID,
     /* Response event for MLO teardown cmd */
     WMI_MLO_TEARDOWN_COMPLETE_EVENTID,
+
+    /* WMI event specific to Quiet handling */
+    WMI_QUIET_HANDLING_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_QUIET_OFL),
 } WMI_EVT_ID;
 
 /* defines for OEM message sub-types */
@@ -6862,6 +6866,39 @@ typedef struct {
     A_UINT32 cswrap_ie_extended[5];
 } wmi_csa_event_fixed_param;
 
+#define WMI_GET_MLD_MAC_ADDRESS_PRESENT(mld_mac_address_present) \
+    WMI_GET_BITS(mld_mac_address_present, 0, 1)
+#define WMI_SET_MLD_MAC_ADDRESS_PRESENT(mld_mac_address_present, value) \
+    WMI_SET_BITS(mld_mac_address_present, 0, 1, value)
+
+#define WMI_GET_LINK_ADDRESS_PRESENT(link_mac_address_present) \
+    WMI_GET_BITS(link_mac_address_present, 1, 1)
+#define WMI_SET_LINK_ADDRESS_PRESENT(link_mac_address_present, value) \
+    WMI_SET_BITS(link_mac_address_present, 1, 1, value)
+
+#define WMI_GET_LINK_ID_PRESENT(link_id_present) \
+    WMI_GET_BITS(link_id_present, 2, 1)
+#define WMI_SET_LINK_ID_PRESENT(link_id_present, value) \
+    WMI_SET_BITS(link_id_present, 2, 1, value)
+
+typedef enum {
+    WMI_QUIET_EVENT_START = 0,
+    WMI_QUIET_EVENT_STOP  = 1,
+} WMI_QUIET_EVENT_FLAG;
+
+/* WMI Quiet receive event from beacon frame */
+typedef struct {
+    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_quiet_event_fixed_param */
+    wmi_mac_addr mld_mac_address; /* AP mld mac address */
+    wmi_mac_addr link_mac_address; /* AP link mac address */
+    A_UINT32 linkid; /* Link id associated with AP */
+    A_UINT32 mld_mac_address_present :1,
+             link_mac_address_present :1,
+             linkid_present :1,
+             reserved :29;
+    A_UINT32 quiet_status; /* WMI_QUIET_EVENT_FLAG: quiet start or stop */
+} wmi_quiet_event_fixed_param;
+
 typedef enum {
     WAL_PEER_MCAST2UCAST_DISABLED    = 0,
     WAL_PEER_MCAST2UCAST_DROP_EMPTY  = 1, /* Drop the frames if match is not found */

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