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
This commit is contained in:
gaurank kathpalia 2018-11-14 13:48:44 +05:30 committed by nshrivas
parent 651abcd134
commit 2fc3b89d0b
2 changed files with 34 additions and 14 deletions

View File

@ -25,6 +25,7 @@
#include <wlan_cmn.h>
#include <reg_services_public_struct.h>
#include <wmi_unified_param.h>
#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

View File

@ -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);
}
/**