From 684f77e9549701c36a4cf5063aa60fd21ee73e51 Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 1 Sep 2022 12:01:19 -0700 Subject: [PATCH] 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 --- fw/wlan_module_ids.h | 2 ++ fw/wmi_services.h | 1 + fw/wmi_tlv_defs.h | 14 ++++++++++++++ fw/wmi_unified.h | 33 +++++++++++++++++++++++++++++++-- fw/wmi_version.h | 2 +- 5 files changed, 49 insertions(+), 3 deletions(-) diff --git a/fw/wlan_module_ids.h b/fw/wlan_module_ids.h index 848dea5184..13fc6b8fba 100644 --- a/fw/wlan_module_ids.h +++ b/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, diff --git a/fw/wmi_services.h b/fw/wmi_services.h index 04cee618a3..f60fc4fdf3 100644 --- a/fw/wmi_services.h +++ b/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 diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index aa5e3c9ae2..6ad5066c28 100644 --- a/fw/wmi_tlv_defs.h +++ b/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 diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index f69a9a12b9..af85390a37 100644 --- a/fw/wmi_unified.h +++ b/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"; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 8dc19b1cb9..f6ce5276e9 100644 --- a/fw/wmi_version.h +++ b/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