qcacld-3.0: Populate the per vdev chain capability in hdd context

Populate the feature capability from wmi to hdd config

Change-Id: I8931da53fb50229b405a2b7c1802a6d15a35781b
CRs-Fixed: 2347619
This commit is contained in:
gaurank kathpalia 2018-10-24 15:03:15 +05:30 • committed by nshrivas
commit 5fcefa93b0
5 changed files with 13 additions and 1 deletions

View file

@ -1744,6 +1744,7 @@ struct hdd_psoc {
* @pdev: object manager pdev context
* @g_event_flags: a bitmap of hdd_driver_flags
* @psoc_idle_timeout_work: delayed work for psoc idle shutdown
* @dynamic_nss_chains_support: Per vdev dynamic nss chains update capability
*/
struct hdd_context {
struct hdd_psoc *hdd_psoc;
@ -2020,6 +2021,8 @@ struct hdd_context {
#endif
enum sar_version sar_version;
struct qdf_mac_addr dynamic_mac_list[QDF_MAX_CONCURRENCY_PERSONA];
bool dynamic_nss_chains_support;
};
/**

View file

@ -2043,7 +2043,8 @@ void hdd_update_tgt_cfg(hdd_handle_t hdd_handle, struct wma_tgt_cfg *cfg)
hdd_update_vdev_nss(hdd_ctx);
hdd_update_hw_dbs_capable(hdd_ctx);
hdd_ctx->dynamic_nss_chains_support =
cfg->dynamic_nss_chains_support;
hdd_ctx->config->fine_time_meas_cap &= cfg->fine_time_measurement_cap;
hdd_ctx->fine_time_meas_cap_target = cfg->fine_time_measurement_cap;
hdd_debug("fine_time_meas_cap: 0x%x",

View file

@ -1134,6 +1134,7 @@ struct wma_valid_channels {
* @bandcapability: band capability configured through ini
* @tx_bfee_8ss_enabled: Is Tx Beamformee support for 8x8 enabled?
* @in_imps: Is device in Idle Mode Power Save?
* @dynamic_nss_chains_update: per vdev nss, chains update
* @ito_repeat_count: Indicates ito repeated count
* @wma_fw_time_sync_timer: timer used for firmware time sync
* @critical_events_in_flight: number of suspend-preventing events
@ -1282,6 +1283,7 @@ typedef struct {
uint8_t bandcapability;
bool tx_bfee_8ss_enabled;
bool in_imps;
bool dynamic_nss_chains_support;
uint8_t ito_repeat_count;
qdf_mc_timer_t wma_fw_time_sync_timer;
qdf_atomic_t critical_events_in_flight;

View file

@ -177,6 +177,7 @@ struct board_info {
* @he_cap: HE capability received from FW
* @dfs_cac_offload: dfs and cac timer offloaded
* @tx_bfee_8ss_enabled: Tx Beamformee support for 8x8
* @dynamic_nss_chains_update: per vdev dynamic nss, chains update
* @rcpi_enabled: for checking rcpi support
* @obss_detection_offloaded: obss detection offloaded to firmware
* @obss_color_collision_offloaded: obss color collision offloaded to firmware
@ -215,6 +216,7 @@ struct wma_tgt_cfg {
#endif
bool dfs_cac_offload;
bool tx_bfee_8ss_enabled;
bool dynamic_nss_chains_support;
bool rcpi_enabled;
bool obss_detection_offloaded;
bool obss_color_collision_offloaded;

View file

@ -5563,6 +5563,8 @@ static void wma_update_hdd_cfg(tp_wma_handle wma_handle)
tgt_cfg.wmi_max_len = wmi_get_max_msg_len(wma_handle->wmi_handle)
- WMI_TLV_HEADROOM;
tgt_cfg.tx_bfee_8ss_enabled = wma_handle->tx_bfee_8ss_enabled;
tgt_cfg.dynamic_nss_chains_support =
wma_handle->dynamic_nss_chains_support;
wma_update_obss_detection_support(wma_handle, &tgt_cfg);
wma_update_obss_color_collision_support(wma_handle, &tgt_cfg);
wma_update_hdd_cfg_ndp(wma_handle, &tgt_cfg);
@ -6010,6 +6012,8 @@ int wma_rx_service_ready_event(void *handle, uint8_t *cmd_param_info,
wma_handle->tx_bfee_8ss_enabled =
wmi_service_enabled(wmi_handle, wmi_service_8ss_tx_bfee);
wma_handle->dynamic_nss_chains_support = wmi_service_enabled(wmi_handle,
wmi_service_per_vdev_chain_support);
target_psoc_set_num_radios(tgt_hdl, 1);
return 0;