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:

committed by
Madan Koyyalamudi

parent
5b61207f4c
commit
354a68e77c
@@ -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,
|
||||||
|
@@ -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;
|
||||||
|
@@ -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;
|
||||||
|
Reference in New Issue
Block a user