From e5a59787a9dc0eff8e7143cd627df4d15c51e767 Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 30 Sep 2021 06:00:49 -0700 Subject: [PATCH] fw-api: CL 15877381 - update fw common interface files Change-Id: I704055892ccd297861b1f658426e1ae15ed2f9cd WMI: add optional dbs_or_sbs_cap_ext struct in READY_EXT2 msg CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 4 +++- fw/wmi_unified.h | 22 +++++++++++++++++++++- fw/wmi_version.h | 2 +- 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 84312b7ec4e4..61e9d332651d 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1204,6 +1204,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_ctrl_path_btcoex_stats_struct, WMITLV_TAG_STRUC_wmi_icmp_offload_fixed_param, WMITLV_TAG_STRUC_WMI_IPV6_ADDR, + WMITLV_TAG_STRUC_wmi_dbs_or_sbs_cap_ext, } WMITLV_TAG_ID; /* @@ -4873,7 +4874,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_nan_capabilities, wmi_nan_capabilities, nan_cap, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_SCAN_RADIO_CAPABILITIES_EXT2, wmi_scan_radio_caps, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_twt_caps_params, twt_caps, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_htt_msdu_idx_to_htt_msdu_qtype, htt_msdu_idx_to_qtype_map, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_htt_msdu_idx_to_htt_msdu_qtype, htt_msdu_idx_to_qtype_map, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_dbs_or_sbs_cap_ext, dbs_or_sbs_cap_ext, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT2_EVENTID); #define WMITLV_TABLE_WMI_CHAN_RF_CHARACTERIZATION_INFO_EVENTID(id,op,buf,len) \ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 685960f3cc65..22bb39691111 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -2607,12 +2607,14 @@ typedef struct _wmi_ppe_threshold { #define WMI_DBS_FW_MODE_CFG_DBS_FOR_CXN_BITPOS (29) #define WMI_DBS_FW_MODE_CFG_DBS_FOR_STA_PLUS_STA_BITPOS (28) #define WMI_DBS_FW_MODE_CFG_DBS_FOR_STA_PLUS_P2P_BITPOS (27) +#define WMI_DBS_FW_MODE_CFG_ASYNC_SBS_BITPOS (26) #define WMI_DBS_FW_MODE_CFG_DBS_MASK (0x1 << WMI_DBS_FW_MODE_CFG_DBS_BITPOS) #define WMI_DBS_FW_MODE_CFG_AGILE_DFS_MASK (0x1 << WMI_DBS_FW_MODE_CFG_AGILE_DFS_BITPOS) #define WMI_DBS_FW_MODE_CFG_DBS_FOR_CXN_DFS_MASK (0x1 << WMI_DBS_FW_MODE_CFG_DBS_FOR_CXN_BITPOS) #define WMI_DBS_FW_MODE_CFG_DBS_FOR_STA_PLUS_STA_MASK (0x1 << WMI_DBS_FW_MODE_CFG_DBS_FOR_STA_PLUS_STA_BITPOS) #define WMI_DBS_FW_MODE_CFG_DBS_FOR_STA_PLUS_P2P_MASK (0x1 << WMI_DBS_FW_MODE_CFG_DBS_FOR_STA_PLUS_P2P_BITPOS) +#define WMI_DBS_FW_MODE_CFG_ASYNC_SBS_MASK (0x1 << WMI_DBS_FW_MODE_CFG_ASYNC_SBS_BITPOS) #define WMI_DBS_FW_MODE_CFG_DBS_SET(fw_mode, value) \ WMI_SET_BITS(fw_mode, WMI_DBS_FW_MODE_CFG_DBS_BITPOS, 1, value) @@ -2624,6 +2626,8 @@ typedef struct _wmi_ppe_threshold { WMI_SET_BITS(fw_mode, WMI_DBS_FW_MODE_CFG_DBS_FOR_STA_PLUS_STA_BITPOS, 1, value) #define WMI_DBS_FW_MODE_CFG_DBS_FOR_STA_PLUS_P2P_SET(fw_mode, value) \ WMI_SET_BITS(fw_mode, WMI_DBS_FW_MODE_CFG_DBS_FOR_STA_PLUS_P2P_BITPOS, 1, value) +#define WMI_DBS_FW_MODE_CFG_ASYNC_SBS_SET(fw_mode, value) \ + WMI_SET_BITS(fw_mode, WMI_DBS_FW_MODE_CFG_ASYNC_SBS_BITPOS, 1, value) #define WMI_DBS_FW_MODE_CFG_DBS_GET(fw_mode) \ ((fw_mode & WMI_DBS_FW_MODE_CFG_DBS_MASK) >> WMI_DBS_FW_MODE_CFG_DBS_BITPOS) @@ -2635,7 +2639,8 @@ typedef struct _wmi_ppe_threshold { ((fw_mode & WMI_DBS_FW_MODE_CFG_DBS_FOR_STA_PLUS_STA_MASK) >> WMI_DBS_FW_MODE_CFG_DBS_FOR_STA_PLUS_STA_BITPOS) #define WMI_DBS_FW_MODE_CFG_DBS_FOR_STA_PLUS_P2P_GET(fw_mode) \ ((fw_mode & WMI_DBS_FW_MODE_CFG_DBS_FOR_STA_PLUS_P2P_MASK) >> WMI_DBS_FW_MODE_CFG_DBS_FOR_STA_PLUS_P2P_BITPOS) - +#define WMI_DBS_FW_MODE_CFG_ASYNC_SBS_GET(fw_mode) \ + ((fw_mode & WMI_DBS_FW_MODE_CFG_ASYNC_SBS_MASK) >> WMI_DBS_FW_MODE_CFG_ASYNC_SBS_BITPOS) /** NOTE: This structure cannot be extended in the future without breaking WMI compatibility */ typedef struct _wmi_abi_version { @@ -3103,6 +3108,7 @@ typedef struct { * wmi_nan_capabilities nan_cap; * WMI_SCAN_RADIO_CAPABILITIES_EXT2 wmi_scan_radio_caps[]; * wmi_htt_msdu_idx_to_htt_msdu_qtype htt_msdu_idx_to_qtype_map[]; + * wmi_dbs_or_sbs_cap_ext dbs_or_sbs_cap_ext; */ } wmi_service_ready_ext2_event_fixed_param; @@ -36218,6 +36224,20 @@ typedef struct { */ } wmi_vdev_set_mu_snif_cmd_param; +typedef struct { + /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_dbs_or_sbs_cap_ext*/ + A_UINT32 tlv_header; + /* hw_mode_id: refer to WMI_HW_MODE_CAPABILITIES */ + A_UINT32 hw_mode_id; + /* + * If sbs_lower_band_end_freq is set to non-zero, it indicates + * async SBS mode is supported, and lower-band/higher band to MAC + * mapping is switch-able. unit: mhz. examples 5180, 5320 + */ + A_UINT32 sbs_lower_band_end_freq; +} wmi_dbs_or_sbs_cap_ext; + + /* ADD NEW DEFS HERE */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 24c1b2d16295..d50448882f8f 100644 --- a/fw/wmi_version.h +++ b/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_ 1063 +#define __WMI_REVISION_ 1064 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work