qcacld-3.0: Refine mlme mwc configurations
Refine mlme mwc configurations based on converged cfg component. Remove related legacy codes. Change-Id: I2b66ec6c262bdd98f500678d713ed03eb187f1bd CRs-Fixed: 2352679
This commit is contained in:
@@ -1920,6 +1920,22 @@ static void mlme_init_powersave_params(struct wlan_objmgr_psoc *psoc,
|
|||||||
cfg_get(psoc, CFG_DTIM_SELECTION_DIVERSITY);
|
cfg_get(psoc, CFG_DTIM_SELECTION_DIVERSITY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef MWS_COEX
|
||||||
|
static void mlme_init_mwc_cfg(struct wlan_objmgr_psoc *psoc,
|
||||||
|
struct wlan_mlme_mwc *mwc)
|
||||||
|
{
|
||||||
|
mwc->mws_coex_4g_quick_tdm =
|
||||||
|
cfg_get(psoc, CFG_MWS_COEX_4G_QUICK_FTDM);
|
||||||
|
mwc->mws_coex_5g_nr_pwr_limit =
|
||||||
|
cfg_get(psoc, CFG_MWS_COEX_5G_NR_PWR_LIMIT);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
static void mlme_init_mwc_cfg(struct wlan_objmgr_psoc *psoc,
|
||||||
|
struct wlan_mlme_mwc *mwc)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
|
QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
|
||||||
{
|
{
|
||||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||||
@@ -1966,6 +1982,7 @@ QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
|
|||||||
mlme_init_btm_cfg(&mlme_cfg->btm);
|
mlme_init_btm_cfg(&mlme_cfg->btm);
|
||||||
mlme_init_fe_wlm_in_cfg(psoc, &mlme_cfg->wlm_config);
|
mlme_init_fe_wlm_in_cfg(psoc, &mlme_cfg->wlm_config);
|
||||||
mlme_init_fe_rrm_in_cfg(psoc, &mlme_cfg->rrm_config);
|
mlme_init_fe_rrm_in_cfg(psoc, &mlme_cfg->rrm_config);
|
||||||
|
mlme_init_mwc_cfg(psoc, &mlme_cfg->mwc);
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
@@ -55,6 +55,7 @@
|
|||||||
#include "cfg_mlme_btm.h"
|
#include "cfg_mlme_btm.h"
|
||||||
#include "cfg_mlme_fe_wlm.h"
|
#include "cfg_mlme_fe_wlm.h"
|
||||||
#include "cfg_mlme_fe_rrm.h"
|
#include "cfg_mlme_fe_rrm.h"
|
||||||
|
#include "cfg_mlme_mwc.h"
|
||||||
|
|
||||||
/* Please Maintain Alphabetic Order here */
|
/* Please Maintain Alphabetic Order here */
|
||||||
#define CFG_MLME_ALL \
|
#define CFG_MLME_ALL \
|
||||||
@@ -73,13 +74,13 @@
|
|||||||
CFG_MBO_ALL \
|
CFG_MBO_ALL \
|
||||||
CFG_MLME_POWER_ALL \
|
CFG_MLME_POWER_ALL \
|
||||||
CFG_MLME_PRODUCT_DETAILS_ALL \
|
CFG_MLME_PRODUCT_DETAILS_ALL \
|
||||||
|
CFG_MWC_ALL \
|
||||||
CFG_NSS_CHAINS_ALL \
|
CFG_NSS_CHAINS_ALL \
|
||||||
CFG_OBSS_HT40_ALL \
|
CFG_OBSS_HT40_ALL \
|
||||||
CFG_OCE_ALL \
|
CFG_OCE_ALL \
|
||||||
CFG_POWERSAVE_ALL \
|
CFG_POWERSAVE_ALL \
|
||||||
CFG_QOS_ALL \
|
CFG_QOS_ALL \
|
||||||
CFG_RATES_ALL \
|
CFG_RATES_ALL \
|
||||||
CFG_WMM_PARAMS_ALL\
|
|
||||||
CFG_SAP_ALL \
|
CFG_SAP_ALL \
|
||||||
CFG_SAP_PROTECTION_ALL \
|
CFG_SAP_PROTECTION_ALL \
|
||||||
CFG_SCORING_ALL \
|
CFG_SCORING_ALL \
|
||||||
@@ -90,6 +91,7 @@
|
|||||||
CFG_VHT_CAPS_ALL \
|
CFG_VHT_CAPS_ALL \
|
||||||
CFG_WEP_PARAMS_ALL \
|
CFG_WEP_PARAMS_ALL \
|
||||||
CFG_WIFI_POS_ALL \
|
CFG_WIFI_POS_ALL \
|
||||||
|
CFG_WMM_PARAMS_ALL\
|
||||||
CFG_WPS_ALL
|
CFG_WPS_ALL
|
||||||
|
|
||||||
#endif /* __CFG_MLME_H */
|
#endif /* __CFG_MLME_H */
|
||||||
|
90
mlme/dispatcher/inc/cfg_mlme_mwc.h
Normal file
90
mlme/dispatcher/inc/cfg_mlme_mwc.h
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2012-2018 The Linux Foundation. All rights reserved.
|
||||||
|
*
|
||||||
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
|
* above copyright notice and this permission notice appear in all
|
||||||
|
* copies.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
||||||
|
* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
|
||||||
|
* AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
||||||
|
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||||
|
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
|
* PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DOC: This file contains configuration definitions for MLME WMC.
|
||||||
|
*/
|
||||||
|
#ifndef CFG_MLME_MWC_H_
|
||||||
|
#define CFG_MLME_MWC_H_
|
||||||
|
|
||||||
|
#ifdef MWS_COEX
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* gMwsCoex4gQuickTdm - Bitmap to control MWS-COEX 4G quick FTDM policy
|
||||||
|
* @Min: 0x00000000
|
||||||
|
* @Max: 0xFFFFFFFF
|
||||||
|
* @Default: 0x00000000
|
||||||
|
*
|
||||||
|
* It is a 32 bit value such that the various bits represent as below:
|
||||||
|
* Bit-0 : 0 - Don't allow quick FTDM policy (Default)
|
||||||
|
* 1 - Allow quick FTDM policy
|
||||||
|
* Bit 1-31 : reserved for future use
|
||||||
|
*
|
||||||
|
* It is used to enable or disable MWS-COEX 4G (LTE) Quick FTDM
|
||||||
|
*
|
||||||
|
* Usage: Internal
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define CFG_MWS_COEX_4G_QUICK_FTDM CFG_INI_UINT( \
|
||||||
|
"gMwsCoex4gQuickTdm", \
|
||||||
|
0x00000000, \
|
||||||
|
0xFFFFFFFF, \
|
||||||
|
0x00000000, \
|
||||||
|
CFG_VALUE_OR_DEFAULT, \
|
||||||
|
"set mws-coex 4g quick ftdm policy")
|
||||||
|
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* gMwsCoex5gnrPwrLimit - Bitmap to set MWS-COEX 5G-NR power limit
|
||||||
|
* @Min: 0x00000000
|
||||||
|
* @Max: 0xFFFFFFFF
|
||||||
|
* @Default: 0x00000000
|
||||||
|
*
|
||||||
|
* It is a 32 bit value such that the various bits represent as below:
|
||||||
|
* Bit-0 : Don't apply user specific power limit,
|
||||||
|
* use internal power limit (Default)
|
||||||
|
* Bit 1-2 : Invalid value (Ignored)
|
||||||
|
* Bit 3-21 : Apply the specified value as the external power limit, in dBm
|
||||||
|
* Bit 22-31 : Invalid value (Ignored)
|
||||||
|
*
|
||||||
|
* It is used to set MWS-COEX 5G-NR power limit
|
||||||
|
*
|
||||||
|
* Usage: Internal
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define CFG_MWS_COEX_5G_NR_PWR_LIMIT CFG_INI_UINT( \
|
||||||
|
"gMwsCoex5gnrPwrLimit", \
|
||||||
|
0x00000000, \
|
||||||
|
0xFFFFFFFF, \
|
||||||
|
0x00000000, \
|
||||||
|
CFG_VALUE_OR_DEFAULT, \
|
||||||
|
"set mws-coex 5g-nr power limit")
|
||||||
|
|
||||||
|
#define CFG_MWC_ALL \
|
||||||
|
CFG(CFG_MWS_COEX_4G_QUICK_FTDM) \
|
||||||
|
CFG(CFG_MWS_COEX_5G_NR_PWR_LIMIT)
|
||||||
|
|
||||||
|
#else
|
||||||
|
#define CFG_MWC_ALL
|
||||||
|
#endif /* MWS_COEX */
|
||||||
|
|
||||||
|
#endif /* CFG_MLME_MWC_H_ */
|
@@ -1750,6 +1750,21 @@ struct wlan_mlme_fe_rrm {
|
|||||||
uint8_t rm_capability[MLME_RMENABLEDCAP_MAX_LEN];
|
uint8_t rm_capability[MLME_RMENABLEDCAP_MAX_LEN];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef MWS_COEX
|
||||||
|
/*
|
||||||
|
* struct wlan_mlme_mwc - MWC related configs
|
||||||
|
* @mws_coex_4g_quick_tdm: bitmap to set mws-coex 5g-nr power limit
|
||||||
|
* @mws_coex_5g_nr_pwr_limit: bitmap to set mws-coex 5g-nr power limit
|
||||||
|
**/
|
||||||
|
struct wlan_mlme_mwc {
|
||||||
|
uint32_t mws_coex_4g_quick_tdm;
|
||||||
|
uint32_t mws_coex_5g_nr_pwr_limit;
|
||||||
|
};
|
||||||
|
#else
|
||||||
|
struct wlan_mlme_mwc {
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct wlan_mlme_cfg - MLME config items
|
* struct wlan_mlme_cfg - MLME config items
|
||||||
* @chainmask_cfg: VHT chainmask related cfg items
|
* @chainmask_cfg: VHT chainmask related cfg items
|
||||||
@@ -1785,6 +1800,7 @@ struct wlan_mlme_fe_rrm {
|
|||||||
* @btm: BTM related CFG itmes
|
* @btm: BTM related CFG itmes
|
||||||
* @wlm_config: WLM related CFG items
|
* @wlm_config: WLM related CFG items
|
||||||
* @rrm_config: RRM related CFG items
|
* @rrm_config: RRM related CFG items
|
||||||
|
* @mwc: MWC related CFG items
|
||||||
*/
|
*/
|
||||||
struct wlan_mlme_cfg {
|
struct wlan_mlme_cfg {
|
||||||
struct wlan_mlme_chainmask chainmask_cfg;
|
struct wlan_mlme_chainmask chainmask_cfg;
|
||||||
@@ -1822,6 +1838,7 @@ struct wlan_mlme_cfg {
|
|||||||
struct wlan_mlme_btm btm;
|
struct wlan_mlme_btm btm;
|
||||||
struct wlan_mlme_fe_wlm wlm_config;
|
struct wlan_mlme_fe_wlm wlm_config;
|
||||||
struct wlan_mlme_fe_rrm rrm_config;
|
struct wlan_mlme_fe_rrm rrm_config;
|
||||||
|
struct wlan_mlme_mwc mwc;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -3333,4 +3333,28 @@ ucfg_mlme_override_bmps_imps(struct wlan_objmgr_psoc *psoc)
|
|||||||
return wlan_mlme_override_bmps_imps(psoc);
|
return wlan_mlme_override_bmps_imps(psoc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef MWS_COEX
|
||||||
|
/**
|
||||||
|
* ucfg_mlme_get_mws_coex_4g_quick_tdm() - Get mws coex 4g quick tdm
|
||||||
|
* @psoc: pointer to psoc object
|
||||||
|
* @val: Pointer to the value which will be filled for the caller
|
||||||
|
*
|
||||||
|
* Return: QDF Status
|
||||||
|
*/
|
||||||
|
QDF_STATUS
|
||||||
|
ucfg_mlme_get_mws_coex_4g_quick_tdm(struct wlan_objmgr_psoc *psoc,
|
||||||
|
uint32_t *val);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ucfg_mlme_get_mws_coex_5g_nr_pwr_limit() - Get mws coex 5g nr pwr limit
|
||||||
|
* @psoc: pointer to psoc object
|
||||||
|
* @val: Pointer to the value which will be filled for the caller
|
||||||
|
*
|
||||||
|
* Return: QDF Status
|
||||||
|
*/
|
||||||
|
QDF_STATUS
|
||||||
|
ucfg_mlme_get_mws_coex_5g_nr_pwr_limit(struct wlan_objmgr_psoc *psoc,
|
||||||
|
uint32_t *val);
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* _WLAN_MLME_UCFG_API_H_ */
|
#endif /* _WLAN_MLME_UCFG_API_H_ */
|
||||||
|
@@ -1210,3 +1210,41 @@ ucfg_mlme_get_latency_enable(struct wlan_objmgr_psoc *psoc, bool *value)
|
|||||||
*value = mlme_obj->cfg.wlm_config.latency_enable;
|
*value = mlme_obj->cfg.wlm_config.latency_enable;
|
||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef MWS_COEX
|
||||||
|
QDF_STATUS
|
||||||
|
ucfg_mlme_get_mws_coex_4g_quick_tdm(struct wlan_objmgr_psoc *psoc,
|
||||||
|
uint32_t *val)
|
||||||
|
{
|
||||||
|
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||||
|
|
||||||
|
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||||
|
if (!mlme_obj) {
|
||||||
|
*val = cfg_default(CFG_MWS_COEX_4G_QUICK_FTDM);
|
||||||
|
mlme_err("mlme obj null");
|
||||||
|
return QDF_STATUS_E_INVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
*val = mlme_obj->cfg.mwc.mws_coex_4g_quick_tdm;
|
||||||
|
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
QDF_STATUS
|
||||||
|
ucfg_mlme_get_mws_coex_5g_nr_pwr_limit(struct wlan_objmgr_psoc *psoc,
|
||||||
|
uint32_t *val)
|
||||||
|
{
|
||||||
|
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||||
|
|
||||||
|
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||||
|
if (!mlme_obj) {
|
||||||
|
*val = cfg_default(CFG_MWS_COEX_5G_NR_PWR_LIMIT);
|
||||||
|
mlme_err("mlme obj null");
|
||||||
|
return QDF_STATUS_E_INVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
*val = mlme_obj->cfg.mwc.mws_coex_5g_nr_pwr_limit;
|
||||||
|
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
Reference in New Issue
Block a user