qcacmn: Add host-FW handshake for 320 MHz bang radar support

FW-Host Handshake for BANG_RADAR_320_SUPPORT
1. FW advertises its capability of processing BANG_RADAR_320_SUPPORT
id via wmi service bit 'wmi_service_bang_radar_320_support'.
2. If the host is capable of processing the "BANG_RADAR_320_SUPPORT"
event id, host sends the capability in WMI_INIT_CMDID setting a bit in
host_service_flags

Change-Id: Ia26a7b8e8ee78aceb801d0053770379bd6d5a9cb
CRs-Fixed: 3270525
This commit is contained in:
Jithender Miryala
2022-08-17 16:25:53 +05:30
committed by Madan Koyyalamudi
parent 5b61207f4c
commit 354a68e77c
3 changed files with 15 additions and 0 deletions

View File

@@ -466,6 +466,12 @@ static int init_deinit_service_ext2_ready_event_handler(ol_scn_t scn_handle,
WLAN_SOC_EXT_EVENT_SUPPORTED); WLAN_SOC_EXT_EVENT_SUPPORTED);
} }
if (wmi_service_enabled(wmi_handle,
wmi_service_bang_radar_320_support)) {
info->wlan_res_cfg.is_host_dfs_320mhz_bangradar_supported =
true;
}
/* dbr_ring_caps could have already come as part of EXT event */ /* dbr_ring_caps could have already come as part of EXT event */
if (info->service_ext2_param.num_dbr_ring_caps) { if (info->service_ext2_param.num_dbr_ring_caps) {
err_code = init_deinit_populate_dbr_ring_cap_ext2(psoc, err_code = init_deinit_populate_dbr_ring_cap_ext2(psoc,

View File

@@ -5800,6 +5800,7 @@ typedef enum {
wmi_service_ext_tpc_reg_support, wmi_service_ext_tpc_reg_support,
wmi_service_ndi_txbf_support, wmi_service_ndi_txbf_support,
wmi_service_reg_cc_ext_event_support, wmi_service_reg_cc_ext_event_support,
wmi_service_bang_radar_320_support,
#if defined(CONFIG_BAND_6GHZ) #if defined(CONFIG_BAND_6GHZ)
wmi_service_lower_6g_edge_ch_supp, wmi_service_lower_6g_edge_ch_supp,
wmi_service_disable_upper_6g_edge_ch_supp, wmi_service_disable_upper_6g_edge_ch_supp,
@@ -6216,6 +6217,7 @@ struct target_feature_set {
* @nan_separate_iface_support: Separate iface creation for NAN * @nan_separate_iface_support: Separate iface creation for NAN
* @time_sync_ftm: enable ftm based time sync * @time_sync_ftm: enable ftm based time sync
* @is_reg_cc_ext_event_supported: Flag to indicate if reg_cc_ext is supported * @is_reg_cc_ext_event_supported: Flag to indicate if reg_cc_ext is supported
* @is_host_dfs_320mhz_bangradar_supported Flag to indicate if dfs 320 supported
* @max_rnr_neighbours: Max supported RNR neighbors in multisoc APs * @max_rnr_neighbours: Max supported RNR neighbors in multisoc APs
* @ema_max_vap_cnt: Number of maximum EMA tx-vaps at any instance of time * @ema_max_vap_cnt: Number of maximum EMA tx-vaps at any instance of time
* @ema_max_profile_period: Maximum EMA profile periodicity on any pdev * @ema_max_profile_period: Maximum EMA profile periodicity on any pdev
@@ -6343,6 +6345,7 @@ typedef struct {
bool nan_separate_iface_support; bool nan_separate_iface_support;
bool time_sync_ftm; bool time_sync_ftm;
bool is_reg_cc_ext_event_supported; bool is_reg_cc_ext_event_supported;
bool is_host_dfs_320mhz_bangradar_supported;
uint32_t max_rnr_neighbours; uint32_t max_rnr_neighbours;
uint32_t ema_max_vap_cnt; uint32_t ema_max_vap_cnt;
uint32_t ema_max_profile_period; uint32_t ema_max_profile_period;

View File

@@ -8957,6 +8957,10 @@ void wmi_copy_resource_config(wmi_resource_config *resource_cfg,
resource_cfg->host_service_flags, resource_cfg->host_service_flags,
tgt_res_cfg->is_reg_cc_ext_event_supported); tgt_res_cfg->is_reg_cc_ext_event_supported);
WMI_RSRC_CFG_HOST_SERVICE_FLAG_BANG_RADAR_320M_SUPPORT_SET(
resource_cfg->host_service_flags,
tgt_res_cfg->is_host_dfs_320mhz_bangradar_supported);
WMI_RSRC_CFG_HOST_SERVICE_FLAG_LPI_SP_MODE_SUPPORT_SET( WMI_RSRC_CFG_HOST_SERVICE_FLAG_LPI_SP_MODE_SUPPORT_SET(
resource_cfg->host_service_flags, resource_cfg->host_service_flags,
tgt_res_cfg->is_6ghz_sp_pwrmode_supp_enabled); tgt_res_cfg->is_6ghz_sp_pwrmode_supp_enabled);
@@ -20673,6 +20677,8 @@ static void populate_tlv_service(uint32_t *wmi_service)
WMI_SERVICE_NDI_TXBF_SUPPORT; WMI_SERVICE_NDI_TXBF_SUPPORT;
wmi_service[wmi_service_reg_cc_ext_event_support] = wmi_service[wmi_service_reg_cc_ext_event_support] =
WMI_SERVICE_REG_CC_EXT_EVENT_SUPPORT; WMI_SERVICE_REG_CC_EXT_EVENT_SUPPORT;
wmi_service[wmi_service_bang_radar_320_support] =
WMI_SERVICE_BANG_RADAR_320_SUPPORT;
#if defined(CONFIG_BAND_6GHZ) #if defined(CONFIG_BAND_6GHZ)
wmi_service[wmi_service_lower_6g_edge_ch_supp] = wmi_service[wmi_service_lower_6g_edge_ch_supp] =
WMI_SERVICE_ENABLE_LOWER_6G_EDGE_CH_SUPP; WMI_SERVICE_ENABLE_LOWER_6G_EDGE_CH_SUPP;