From 2fc3b89d0bb10749f6adbdd7617d06626e530e2d Mon Sep 17 00:00:00 2001 From: gaurank kathpalia Date: Wed, 14 Nov 2018 13:48:44 +0530 Subject: [PATCH] qcacld-3.0: Fill nss chain params from legacy structure Fill the cmn nss chains structure from the mlme nss chain params structure and send to fw Change-Id: I573b0df20be31af536107f0585e7fa825dc2b6b3 CRs-Fixed: 2349823 --- .../dispatcher/inc/wlan_mlme_public_struct.h | 13 +------ core/wma/src/wma_main.c | 35 +++++++++++++++++-- 2 files changed, 34 insertions(+), 14 deletions(-) diff --git a/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h b/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h index 73643f655351..33b8a516853b 100644 --- a/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h +++ b/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h @@ -25,6 +25,7 @@ #include #include +#include #define CFG_PMKID_MODES_OKC (0x1) #define CFG_PMKID_MODES_PMKSA_CACHING (0x2) @@ -1025,18 +1026,6 @@ enum dot11p_mode { CFG_11P_CONCURRENT, }; -/** - * enum nss_chains_band_info - Band info for dynamic nss, chains change feature - * @NSS_CHAINS_BAND_2GHZ: 2.4Ghz band - * @NSS_CHAINS_BAND_5GHZ: 5Ghz band - * @NSS_CHAINS_BAND_MAX: Max bands supported - */ -enum nss_chains_band_info { - NSS_CHAINS_BAND_2GHZ = 0, - NSS_CHAINS_BAND_5GHZ, - NSS_CHAINS_BAND_MAX, -}; - #define MAX_VDEV_NSS 2 #define MAX_VDEV_CHAINS 2 diff --git a/core/wma/src/wma_main.c b/core/wma/src/wma_main.c index 421173d0fca7..a2524af156f3 100644 --- a/core/wma/src/wma_main.c +++ b/core/wma/src/wma_main.c @@ -1706,15 +1706,46 @@ wma_vdev_nss_chain_params_send(uint8_t vdev_id, struct wlan_mlme_nss_chains *user_cfg) { tp_wma_handle wma_handle = cds_get_context(QDF_MODULE_ID_WMA); - + struct vdev_nss_chains vdev_user_cfg; if (!wma_handle) { WMA_LOGE("%s: wma_handle is NULL", __func__); return QDF_STATUS_E_FAILURE; } + vdev_user_cfg.disable_rx_mrc[NSS_CHAINS_BAND_2GHZ] = + user_cfg->disable_rx_mrc[NSS_CHAINS_BAND_2GHZ]; + vdev_user_cfg.disable_tx_mrc[NSS_CHAINS_BAND_2GHZ] = + user_cfg->disable_tx_mrc[NSS_CHAINS_BAND_2GHZ]; + vdev_user_cfg.disable_rx_mrc[NSS_CHAINS_BAND_5GHZ] = + user_cfg->disable_rx_mrc[NSS_CHAINS_BAND_5GHZ]; + vdev_user_cfg.disable_tx_mrc[NSS_CHAINS_BAND_5GHZ] = + user_cfg->disable_tx_mrc[NSS_CHAINS_BAND_5GHZ]; + + vdev_user_cfg.num_rx_chains[NSS_CHAINS_BAND_2GHZ] + = user_cfg->num_rx_chains[NSS_CHAINS_BAND_2GHZ]; + vdev_user_cfg.num_tx_chains[NSS_CHAINS_BAND_2GHZ] + = user_cfg->num_tx_chains[NSS_CHAINS_BAND_2GHZ]; + vdev_user_cfg.num_rx_chains[NSS_CHAINS_BAND_5GHZ] = + user_cfg->num_rx_chains[NSS_CHAINS_BAND_5GHZ]; + vdev_user_cfg.num_tx_chains[NSS_CHAINS_BAND_5GHZ] = + user_cfg->num_tx_chains[NSS_CHAINS_BAND_5GHZ]; + + vdev_user_cfg.rx_nss[NSS_CHAINS_BAND_2GHZ] = + user_cfg->rx_nss[NSS_CHAINS_BAND_2GHZ]; + vdev_user_cfg.tx_nss[NSS_CHAINS_BAND_2GHZ] = + user_cfg->tx_nss[NSS_CHAINS_BAND_2GHZ]; + vdev_user_cfg.rx_nss[NSS_CHAINS_BAND_5GHZ] = + user_cfg->rx_nss[NSS_CHAINS_BAND_5GHZ]; + vdev_user_cfg.tx_nss[NSS_CHAINS_BAND_5GHZ] = + user_cfg->tx_nss[NSS_CHAINS_BAND_5GHZ]; + + vdev_user_cfg.num_tx_chains_11a = user_cfg->num_tx_chains_11a; + vdev_user_cfg.num_tx_chains_11b = user_cfg->num_tx_chains_11b; + vdev_user_cfg.num_tx_chains_11g = user_cfg->num_tx_chains_11g; + return wmi_unified_vdev_nss_chain_params_send(wma_handle->wmi_handle, vdev_id, - user_cfg); + &vdev_user_cfg); } /**