qcacld-3.0: Populate ini params in mlme_cfg

Populate the ini params from ini file and store them
in mlme_cfg structure.

Change-Id: I3eb8e60e26deeb24228d9b8a24bb957478344492
CRs-Fixed: 2347505
This commit is contained in:
gaurank kathpalia 2018-10-08 15:11:59 +05:30 committed by nshrivas
parent 5fcefa93b0
commit 6c9d1c3e70
3 changed files with 71 additions and 0 deletions

View File

@ -1259,6 +1259,33 @@ static void mlme_init_oce_cfg(struct wlan_objmgr_psoc *psoc,
oce->feature_bitmap = val;
}
static void mlme_init_nss_chains(struct wlan_objmgr_psoc *psoc,
struct wlan_mlme_nss_chains *nss_chains)
{
nss_chains->num_rx_chains[BAND_2GHZ] = cfg_get(psoc,
CFG_NUM_RX_CHAINS_2G);
nss_chains->num_rx_chains[BAND_5GHZ] = cfg_get(psoc,
CFG_NUM_RX_CHAINS_5G);
nss_chains->num_tx_chains[BAND_2GHZ] = cfg_get(psoc,
CFG_NUM_TX_CHAINS_2G);
nss_chains->num_tx_chains[BAND_5GHZ] = cfg_get(psoc,
CFG_NUM_TX_CHAINS_5G);
nss_chains->tx_nss[BAND_2GHZ] = cfg_get(psoc, CFG_TX_NSS_2G);
nss_chains->tx_nss[BAND_5GHZ] = cfg_get(psoc, CFG_TX_NSS_5G);
nss_chains->rx_nss[BAND_2GHZ] = cfg_get(psoc, CFG_RX_NSS_2G);
nss_chains->rx_nss[BAND_5GHZ] = cfg_get(psoc, CFG_RX_NSS_5G);
nss_chains->num_tx_chains_11b = cfg_get(psoc, CFG_NUM_TX_CHAINS_11b);
nss_chains->num_tx_chains_11g = cfg_get(psoc, CFG_NUM_TX_CHAINS_11g);
nss_chains->num_tx_chains_11a = cfg_get(psoc, CFG_NUM_TX_CHAINS_11a);
nss_chains->disable_rx_mrc[BAND_2GHZ] = cfg_get(psoc,
CFG_DISABLE_RX_MRC_2G);
nss_chains->disable_rx_mrc[BAND_5GHZ] = cfg_get(psoc,
CFG_DISABLE_RX_MRC_5G);
nss_chains->disable_tx_mrc[BAND_2GHZ] = cfg_get(psoc,
CFG_DISABLE_TX_MRC_2G);
nss_chains->disable_tx_mrc[BAND_5GHZ] = cfg_get(psoc,
CFG_DISABLE_TX_MRC_5G);
}
static void mlme_init_wep_keys(struct wlan_mlme_wep_cfg *wep_params)
{
/* initialize the default key values to zero */
@ -1413,6 +1440,7 @@ QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
mlme_init_chainmask_cfg(psoc, &mlme_cfg->chainmask_cfg);
mlme_init_sap_cfg(psoc, &mlme_cfg->sap_cfg);
mlme_init_he_cap_in_cfg(psoc, &mlme_cfg->he_caps);
mlme_init_nss_chains(psoc, &mlme_cfg->nss_chains_ini_cfg);
mlme_init_obss_ht40_cfg(psoc, &mlme_cfg->obss_ht40);
mlme_init_product_details_cfg(&mlme_cfg->product_details);
mlme_init_sta_cfg(psoc, &mlme_cfg->sta);

View File

@ -33,6 +33,7 @@
#include "cfg_mlme_obss_ht40.h"
#include "cfg_mlme_dfs.h"
#include "cfg_mlme_mbo.h"
#include "cfg_mlme_nss_chains.h"
#include "cfg_mlme_vht_caps.h"
#include "cfg_qos.h"
#include "cfg_mlme_timeout.h"
@ -61,6 +62,7 @@
CFG_LFR_ALL \
CFG_MBO_ALL \
CFG_MLME_PRODUCT_DETAILS_ALL \
CFG_NSS_CHAINS_ALL \
CFG_OBSS_HT40_ALL \
CFG_OCE_ALL \
CFG_QOS_ALL \

View File

@ -1025,6 +1025,45 @@ enum dot11p_mode {
CFG_11P_CONCURRENT,
};
/**
* enum nss_chains_band_info - Band info for dynamic nss, chains change feature
* @BAND_2GHZ: 2.4Ghz band
* @BAND_5GHZ: 5Ghz band
* @BAND_MAX: Max bands supported
*/
enum nss_chains_band_info {
BAND_2GHZ = 0,
BAND_5GHZ,
BAND_MAX,
};
#define MAX_VDEV_NSS 2
#define MAX_VDEV_CHAINS 2
/**
* struct wlan_mlme_nss_chains - MLME vdev config of nss, and chains
* @num_tx_chains: tx chains of vdev config
* @num_rx_chains: rx chains of vdev config
* @tx_nss: tx nss of vdev config
* @rx_nss: rx nss of vdev config
* @num_tx_chains_11b: number of tx chains in 11b mode
* @num_tx_chains_11g: number of tx chains in 11g mode
* @num_tx_chains_11a: number of tx chains in 11a mode
* @disable_rx_mrc: disable 2 rx chains, in rx nss 1 mode
* @disable_tx_mrc: disable 2 tx chains, in tx nss 1 mode
*/
struct wlan_mlme_nss_chains {
uint32_t num_tx_chains[BAND_MAX];
uint32_t num_rx_chains[BAND_MAX];
uint32_t tx_nss[BAND_MAX];
uint32_t rx_nss[BAND_MAX];
uint32_t num_tx_chains_11b;
uint32_t num_tx_chains_11g;
uint32_t num_tx_chains_11a;
bool disable_rx_mrc[BAND_MAX];
bool disable_tx_mrc[BAND_MAX];
};
/**
* struct wlan_mlme_sta_cfg - MLME STA configuration items
* @sta_keep_alive_period: Sends NULL frame to AP period
@ -1498,6 +1537,7 @@ struct wlan_mlme_wep_cfg {
* @dfs_cfg: DFS related CFG Items
* @sap_protection_cfg: SAP erp protection related CFG items
* @sap_cfg: sap CFG items
* @nss_chains_ini_cfg: Per vdev nss, chains related CFG items
* @sta: sta CFG Items
* @scoring: BSS Scoring related CFG Items
* @oce: OCE related CFG items
@ -1525,6 +1565,7 @@ struct wlan_mlme_cfg {
struct wlan_mlme_dfs_cfg dfs_cfg;
struct wlan_mlme_sap_protection sap_protection_cfg;
struct wlan_mlme_cfg_sap sap_cfg;
struct wlan_mlme_nss_chains nss_chains_ini_cfg;
struct wlan_mlme_sta_cfg sta;
struct wlan_mlme_scoring_cfg scoring;
struct wlan_mlme_oce oce;