From 7fc269544e2f6be8d559981a02e4d78b9205eea0 Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 20 Jun 2024 06:06:42 -0700 Subject: [PATCH] fw-api: CL 26944074 - update fw common interface files Change-Id: If50fe863c62115c4c3ec5bccf284be935f140fe8 CRs-Fixed: 3830439 --- fw/wmi_services.h | 2 +- fw/wmi_tlv_defs.h | 13 +++++------- fw/wmi_unified.h | 52 +++++++++++++++++++++++++++++++---------------- fw/wmi_version.h | 2 +- 4 files changed, 42 insertions(+), 27 deletions(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index 68e14d5592fa..99fb7b35780e 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -656,7 +656,7 @@ typedef enum { WMI_SERVICE_DYNAMIC_WSI_REMAP_SUPPORT = 403, /* WSI bypass remap is supported by Firmware */ WMI_SERVICE_QMS_DLKM_SUPPORT = 404, /* DEPRECATED */ WMI_SERVICE_SMEM_MAILBOX_SUPPORT = 404, /* FW code has smem_mailbox support enabled */ - WMI_SERVICE_REG_CC_EXT2_EVENT_SUPPORT = 405, /* Indicate FW would send EXT2 REG_CC event having data which would be a continuation to EXT REG_CC event */ + WMI_SERVICE_REG_CC_EXT2_EVENT_SUPPORT = 405, /* DEPRECATED */ WMI_SERVICE_MLO_MODE2_RECOVERY_SUPPORTED = 406, /* Indicate FW support for MLO mode2 recovery */ WMI_SERVICE_MSDUQ_RECFG = 407, /* FW support the HTT MSDUQ_RECFG_REQ + MSDUQ_CFG_IND messages */ WMI_SERVICE_TRAFFIC_CONTEXT_SUPPORT = 408, /* FW supports traffic context aware manager */ diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 9f9112ee6963..8e27c48ff46e 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1443,6 +1443,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_twt_vdev_config_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_mgmt_srng_reap_event_fixed_param, WMITLV_TAG_STRUC_wmi_mlo_tlt_selection_for_tid_spray_event_fixed_param, + WMITLV_TAG_STRUC_wmi_reg_chan_list_cc_ext_additional_params, + WMITLV_TAG_STRUC_wmi_regulatory_rule_meta_data, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -2318,7 +2320,6 @@ typedef enum { OP(WMI_PDEV_WIFI_RADAR_CAL_COMPLETION_STATUS_EVENTID) \ 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) \ OP(WMI_MGMT_SRNG_REAP_EVENTID) \ OP(WMI_MLO_TLT_SELECTION_FOR_TID_SPRAY_EVENTID) \ @@ -6834,15 +6835,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_REG_CHAN_LIST_CC_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_reg_chan_list_cc_event_ext_fixed_param, wmi_reg_chan_list_cc_event_ext_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_regulatory_rule_ext_struct, reg_rule_array, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_regulatory_chan_priority_struct, reg_chan_priority, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_regulatory_fcc_rule_struct, reg_fcc_rule, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_regulatory_fcc_rule_struct, reg_fcc_rule, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_reg_chan_list_cc_ext_additional_params, reg_more_data, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_regulatory_rule_meta_data, reg_meta_data, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_REG_CHAN_LIST_CC_EXT_EVENTID); -/* Ext2 regulatory channel list of current country code */ -#define WMITLV_TABLE_WMI_REG_CHAN_LIST_CC_EXT2_EVENTID(id,op,buf,len) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_reg_chan_list_cc_event_ext2_fixed_param, wmi_reg_chan_list_cc_event_ext2_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_regulatory_rule_ext_struct, reg_rule_array, WMITLV_SIZE_VAR) -WMITLV_CREATE_PARAM_STRUC(WMI_REG_CHAN_LIST_CC_EXT2_EVENTID); - /* WMI AFC info event */ #define WMITLV_TABLE_WMI_AFC_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_afc_event_fixed_param, wmi_afc_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index d90e7df98737..46d98c4bd37b 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -2457,7 +2457,7 @@ typedef enum { WMI_11D_NEW_COUNTRY_EVENTID, WMI_REG_CHAN_LIST_CC_EXT_EVENTID, WMI_AFC_EVENTID, - WMI_REG_CHAN_LIST_CC_EXT2_EVENTID, + WMI_REG_CHAN_LIST_CC_EXT2_EVENTID, /* DEPRECATED */ /** Events for TWT(Target Wake Time) of STA and AP */ WMI_TWT_ENABLE_COMPLETE_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_TWT), @@ -38355,26 +38355,44 @@ typedef struct { * client LPI x4, client SP x4, client VLP x4). * - wmi_regulatory_chan_priority_struct reg_chan_priority[] * - wmi_regulatory_fcc_rule_struct reg_fcc_rule[] + * - wmi_reg_chan_list_cc_ext_additional_params reg_more_data[] + * struct used to fill more fixed additional data, as existing + * fixed_param TLV struct can't be extended. + * - wmi_regulatory_rule_meta_data reg_meta_data[] + * struct used to fill meta information specific to new reg rules + * getting added(i.e. from C2C onwards). */ } wmi_reg_chan_list_cc_event_ext_fixed_param; -typedef struct { - A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_reg_chan_list_cc_event_ext2_fixed_param */ - A_UINT32 is_c2c_supported; - A_UINT32 domain_code_6ghz_c2c_lpi; - A_UINT32 domain_code_6ghz_c2c_sp; - A_UINT32 min_bw_6ghz_c2c_lpi; - A_UINT32 max_bw_6ghz_c2c_lpi; - A_UINT32 min_bw_6ghz_c2c_sp; - A_UINT32 max_bw_6ghz_c2c_sp; - A_UINT32 num_6ghz_reg_rules_c2c_lpi; - A_UINT32 num_6ghz_reg_rules_c2c_sp; +#define WMI_REG_CAPS_C2C_SUPPORT_GET(additional_regulatory_capabilities) \ + WMI_GET_BITS(additional_regulatory_capabilities, 0, 1) +#define WMI_REG_CAPS_C2C_SUPPORT_SET(additional_regulatory_capabilities, value) \ + WMI_SET_BITS(additional_regulatory_capabilities, 0, 1, value) -/* - * This fixed_param TLV is followed by the following TLVs: - * - wmi_regulatory_rule_ext reg_rule_array[] struct TLV array. - */ -} wmi_reg_chan_list_cc_event_ext2_fixed_param; +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_reg_chan_list_cc_ext_additional_params */ + /* additional_regulatory_capabilities: + * bit 0 - whether C2C supported + * bits 31:1 - reserved + */ + A_UINT32 additional_regulatory_capabilities; +} wmi_reg_chan_list_cc_ext_additional_params; + +typedef enum { + WMI_REG_RULE_TYPE_indoor_enabled_ap, + WMI_REG_RULE_TYPE_indoor_enabled_def_cli, + WMI_REG_RULE_TYPE_indoor_enabled_sub_cli, + WMI_REG_RULE_TYPE_MAX, +} WMI_REG_RULE_TYPE; + +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_regulatory_rule_meta_data */ + A_UINT32 reg_rule_type; /* Refer enum WMI_REG_RULE_TYPE */ + A_UINT32 domain_code_6ghz; + A_UINT32 min_bw_6ghz; /* units = MHz */ + A_UINT32 max_bw_6ghz; /* units = MHz */ + A_UINT32 num_6ghz_reg_rules; +} wmi_regulatory_rule_meta_data; /* WFA AFC Version */ #define WMI_AFC_WFA_MINOR_VERSION_GET(afc_wfa_version) WMI_GET_BITS(afc_wfa_version, 0, 16) diff --git a/fw/wmi_version.h b/fw/wmi_version.h index f414975df322..81fc1aed4f47 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_ 1498 +#define __WMI_REVISION_ 1499 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work