Quellcode durchsuchen

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

Change-Id: Ie20a9e2e8e2389d5d6528f4f8e9f0f985bd74667
WMI: add XGAP_ENABLE_CMD, XGAP_ENABLE_COMPLETE_EVENT msg defs
CRs-Fixed: 2262693
spuligil vor 2 Jahren
Ursprung
Commit
684f77e954
5 geänderte Dateien mit 49 neuen und 3 gelöschten Zeilen
  1. 2 0
      fw/wlan_module_ids.h
  2. 1 0
      fw/wmi_services.h
  3. 14 0
      fw/wmi_tlv_defs.h
  4. 31 2
      fw/wmi_unified.h
  5. 1 1
      fw/wmi_version.h

+ 2 - 0
fw/wlan_module_ids.h

@@ -138,6 +138,8 @@ typedef enum {
 
   WLAN_MODULE_T2LM,                     /* 0x64 */
   WLAN_MODULE_HEALTH_MON,               /* 0x65 */
+  WLAN_MODULE_XGAP,                     /* 0x66 */
+
 
   WLAN_MODULE_ID_MAX,
   WLAN_MODULE_ID_INVALID = WLAN_MODULE_ID_MAX,

+ 1 - 0
fw/wmi_services.h

@@ -597,6 +597,7 @@ typedef  enum  {
     WMI_SERVICE_HALPHY_CTRL_PATH_STATS = 344, /* HALPHY STATS through control path */
     WMI_SERVICE_PEER_CHWIDTH_PUNCTURE_BITMAP_SUPPORT = 345, /* FW supports puncture bitmap change with channel width switch */
     WMI_SERVICE_BANG_RADAR_320_SUPPORT = 346, /* Host to send frequency offset for bang radar in extended field for 320M support */
+    WMI_SERVICE_XGAP_SUPPORT = 347, /* FW support for XGAP */
 
 
     WMI_MAX_EXT2_SERVICE

+ 14 - 0
fw/wmi_tlv_defs.h

@@ -1296,6 +1296,8 @@ typedef enum {
     WMITLV_TAG_STRUC_wmi_regulatory_fcc_rule_struct,
     WMITLV_TAG_STRUC_wmi_vdev_param_enable_sr_prohibit_fixed_param,
     WMITLV_TAG_STRUC_wmi_pdev_sched_tidq_susp_info_event_fixed_param,
+    WMITLV_TAG_STRUC_wmi_xgap_enable_cmd_fixed_param,
+    WMITLV_TAG_STRUC_wmi_xgap_enable_complete_event_fixed_param,
 } WMITLV_TAG_ID;
 
 /*
@@ -1803,6 +1805,7 @@ typedef enum {
     OP(WMI_PDEV_FEATURESET_CMDID) \
     OP(WMI_ROAM_MLO_CONFIG_CMDID) \
     OP(WMI_VDEV_PARAM_ENABLE_SR_PROHIBIT_CMDID) \
+    OP(WMI_XGAP_ENABLE_CMDID) \
     /* add new CMD_LIST elements above this line */
 
 
@@ -2096,6 +2099,7 @@ typedef enum {
     OP(WMI_HEALTH_MON_INIT_DONE_EVENTID) \
     OP(WMI_IPA_LINK_STATS_EVENTID) \
     OP(WMI_PDEV_SCHED_TIDQ_SUSP_INFO_EVENTID) \
+    OP(WMI_XGAP_ENABLE_COMPLETE_EVENTID) \
     /* add new EVT_LIST elements above this line */
 
 
@@ -5145,6 +5149,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_COEX_DBAM_CMDID);
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_param_enable_sr_prohibit_fixed_param, wmi_vdev_param_enable_sr_prohibit_fixed_param, fixed_param, WMITLV_SIZE_FIX)
 WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_PARAM_ENABLE_SR_PROHIBIT_CMDID);
 
+/* xGAP enable cmd */
+#define WMITLV_TABLE_WMI_XGAP_ENABLE_CMDID(id,op,buf,len) \
+    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_xgap_enable_cmd_fixed_param, wmi_xgap_enable_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_XGAP_ENABLE_CMDID);
+
 
 
 /************************** TLV definitions of WMI events *******************************/
@@ -6980,6 +6989,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_COEX_DBAM_COMPLETE_EVENTID);
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_health_mon_init_done_fixed_param, wmi_health_mon_init_done_fixed_param, fixed_param, WMITLV_SIZE_FIX)
 WMITLV_CREATE_PARAM_STRUC(WMI_HEALTH_MON_INIT_DONE_EVENTID);
 
+/* xGAP enable cmd complete event */
+#define WMITLV_TABLE_WMI_XGAP_ENABLE_COMPLETE_EVENTID(id,op,buf,len) \
+    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_xgap_enable_complete_event_fixed_param, wmi_xgap_enable_complete_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_XGAP_ENABLE_COMPLETE_EVENTID);
+
 
 
 #ifdef __cplusplus

+ 31 - 2
fw/wmi_unified.h

@@ -1211,6 +1211,9 @@ typedef enum {
     /* WMI cmd used to allocate HW scratch registers */
     WMI_PMM_SCRATCH_REG_ALLOCATION_CMDID,
 
+    /* WMI cmd used to start/stop XGAP (XPAN Green AP) */
+    WMI_XGAP_ENABLE_CMDID,
+
     /*  Offload 11k related requests */
     WMI_11K_OFFLOAD_REPORT_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_11K_OFFLOAD),
     /* invoke neighbor report from FW */
@@ -2155,6 +2158,9 @@ typedef enum {
     /* WMI event to indicate Helath Monitor Infra init done */
     WMI_HEALTH_MON_INIT_DONE_EVENTID,
 
+    /* WMI XGAP enable command response event ID */
+    WMI_XGAP_ENABLE_COMPLETE_EVENTID,
+
 
     /* GPIO Event */
     WMI_GPIO_INPUT_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_GPIO),
@@ -16498,8 +16504,12 @@ typedef struct {
  * by the target).
  */
 #define WMI_PEER_PARAM_FIXED_RATE                       0xF
-/** Whitelist peer TIDs */
-#define WMI_PEER_SET_MU_WHITELIST                       0x10
+
+/** Allowlist peer TIDs */
+#define WMI_PEER_SET_MU_ALLOWLIST                       0x10
+/* retain definition of deprecated prior name, for backwards compatibility */
+#define WMI_PEER_SET_MU_WHITELIST WMI_PEER_SET_MU_ALLOWLIST
+
 /** Set peer max tx rate (MCS) in adaptive rate ctrl */
 #define WMI_PEER_SET_MAX_TX_RATE                        0x11
 /** Set peer minimal tx rate (MCS) in adaptive rate ctrl */
@@ -19500,6 +19510,7 @@ typedef enum event_type_e {
     WOW_ROAM_STATS_EVENT,                 /* 32 + 12 */
     WOW_RTT_11AZ_EVENT,                   /* 32 + 13 */
     WOW_P2P_NOA_EVENT,                    /* 32 + 14 */
+    WOW_XGAP_EVENT,                       /* 32 + 15 */
 } WOW_WAKE_EVENT_TYPE;
 
 typedef enum wake_reason_e {
@@ -19585,6 +19596,8 @@ typedef enum wake_reason_e {
     WOW_REASON_DELAYED_WAKEUP_DATA_STORE_LIST_FULL,
     /* Sched PM FW initiated termination event */
     WOW_REASON_SCHED_PM_TERMINATED,
+    /* XGAP entry/exit response */
+    WOW_REASON_XGAP,
 
     /* add new WOW_REASON_ defs before this line */
     WOW_REASON_MAX,
@@ -29678,6 +29691,21 @@ typedef struct {
     A_UINT32 vdev_id;
 } wmi_vdev_get_bcn_recv_stats_cmd_fixed_param;
 
+typedef struct {
+    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_xgap_enable_cmd_fixed_param */
+    A_UINT32 beacon_interval; /* in TU */
+    A_UINT32 sap_lp_flag;     /* bit 0 : set/unset for enter/exit XGAP */
+    A_UINT32 dialog_token;
+    A_UINT32 duration;        /* in us : sap LP enter/exit duration, 0 for permanent exit */
+} wmi_xgap_enable_cmd_fixed_param;
+
+typedef struct {
+    A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_xgap_enable_complete_event_fixed_param */
+    A_UINT32 dialog_token;
+    A_UINT32 next_tsf_low32;
+    A_UINT32 next_tsf_high32;
+} wmi_xgap_enable_complete_event_fixed_param;
+
 /*
  * wmi mws-coex command IDs
  */
@@ -32543,6 +32571,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
         WMI_RETURN_STRING(WMI_COEX_DBAM_CMDID);
         WMI_RETURN_STRING(WMI_PDEV_FEATURESET_CMDID);
         WMI_RETURN_STRING(WMI_VDEV_PARAM_ENABLE_SR_PROHIBIT_CMDID);
+        WMI_RETURN_STRING(WMI_XGAP_ENABLE_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_ 1206
+#define __WMI_REVISION_ 1207
 
 /** The Version Namespace should not be normally changed. Only
  *  host and firmware of the same WMI namespace will work