qcacld-3.0: SAP CFG Items part 2

Add support for the sap cfg items in new mlme component

Change-Id: I80f3f00a85720fe7bec11575fe67dd2f6b9d44b2
CRs-Fixed: 2316643
This commit is contained in:
Bala Venkatesh
2018-09-11 20:33:24 +05:30
committed by nshrivas
parent 422389dc4d
commit 2fde2c61db
37 changed files with 876 additions and 792 deletions

View File

@@ -207,36 +207,37 @@ static void mlme_update_sap_protection_cfg(struct wlan_objmgr_psoc *psoc,
static void mlme_update_sap_cfg(struct wlan_objmgr_psoc *psoc,
struct wlan_mlme_cfg_sap *sap_cfg)
{
sap_cfg->beacon_interval = cfg_default(CFG_BEACON_INTERVAL);
sap_cfg->beacon_interval = cfg_get(psoc, CFG_BEACON_INTERVAL);
sap_cfg->dtim_interval = cfg_default(CFG_DTIM_PERIOD);
sap_cfg->listen_interval = cfg_default(CFG_LISTEN_INTERVAL);
sap_cfg->sap_11g_policy = cfg_default(CFG_11G_ONLY_POLICY);
sap_cfg->assoc_sta_limit = cfg_default(CFG_ASSOC_STA_LIMIT);
sap_cfg->enable_lte_coex = cfg_get(psoc, CFG_INI_ENABLE_LTE_COEX);
sap_cfg->enable_lte_coex = cfg_get(psoc, CFG_ENABLE_LTE_COEX);
sap_cfg->rmc_action_period_freq =
cfg_default(CFG_RMC_ACTION_PERIOD_FREQUENCY);
sap_cfg->rate_tx_mgmt = cfg_get(psoc, CFG_INI_RATE_FOR_TX_MGMT);
sap_cfg->rate_tx_mgmt_2g = cfg_get(psoc, CFG_INI_RATE_FOR_TX_MGMT_2G);
sap_cfg->rate_tx_mgmt_5g = cfg_get(psoc, CFG_INI_RATE_FOR_TX_MGMT_5G);
sap_cfg->tele_bcn_wakeup_en = cfg_get(psoc, CFG_INI_TELE_BCN_WAKEUP_EN);
sap_cfg->tele_bcn_max_li = cfg_get(psoc, CFG_INI_TELE_BCN_MAX_LI);
sap_cfg->sap_get_peer_info = cfg_get(psoc, CFG_INI_SAP_GET_PEER_INFO);
sap_cfg->rate_tx_mgmt = cfg_get(psoc, CFG_RATE_FOR_TX_MGMT);
sap_cfg->rate_tx_mgmt_2g = cfg_get(psoc, CFG_RATE_FOR_TX_MGMT_2G);
sap_cfg->rate_tx_mgmt_5g = cfg_get(psoc, CFG_RATE_FOR_TX_MGMT_5G);
sap_cfg->tele_bcn_wakeup_en = cfg_get(psoc, CFG_TELE_BCN_WAKEUP_EN);
sap_cfg->tele_bcn_max_li = cfg_get(psoc, CFG_TELE_BCN_MAX_LI);
sap_cfg->sap_get_peer_info = cfg_get(psoc, CFG_SAP_GET_PEER_INFO);
sap_cfg->sap_allow_all_chan_param_name =
cfg_get(psoc, CFG_INI_SAP_ALLOW_ALL_CHANNEL_PARAM);
sap_cfg->sap_max_no_peers = cfg_get(psoc, CFG_INI_SAP_MAX_NO_PEERS);
cfg_get(psoc, CFG_SAP_ALLOW_ALL_CHANNEL_PARAM);
sap_cfg->sap_max_no_peers = cfg_get(psoc, CFG_SAP_MAX_NO_PEERS);
sap_cfg->sap_max_offload_peers =
cfg_get(psoc, CFG_INI_SAP_MAX_OFFLOAD_PEERS);
cfg_get(psoc, CFG_SAP_MAX_OFFLOAD_PEERS);
sap_cfg->sap_max_offload_reorder_buffs =
cfg_get(psoc, CFG_INI_SAP_MAX_OFFLOAD_REORDER_BUFFS);
cfg_get(psoc, CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS);
sap_cfg->sap_ch_switch_beacon_cnt =
cfg_get(psoc, CFG_INI_SAP_CH_SWITCH_BEACON_CNT);
sap_cfg->sap_ch_switch_mode = cfg_get(psoc, CFG_INI_SAP_CH_SWITCH_MODE);
sap_cfg->sap_internal_restart_name =
cfg_get(psoc, CFG_INI_SAP_INTERNAL_RESTART_NAME);
cfg_get(psoc, CFG_SAP_CH_SWITCH_BEACON_CNT);
sap_cfg->sap_ch_switch_mode = cfg_get(psoc, CFG_SAP_CH_SWITCH_MODE);
sap_cfg->sap_internal_restart =
cfg_get(psoc, CFG_SAP_INTERNAL_RESTART);
sap_cfg->chan_switch_hostapd_rate_enabled_name =
cfg_get(psoc, CFG_INI_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_NAME);
cfg_get(psoc, CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_NAME);
sap_cfg->reduced_beacon_interval =
cfg_get(psoc, CFG_INI_REDUCED_BEACON_INTERVAL);
cfg_get(psoc, CFG_REDUCED_BEACON_INTERVAL);
}
static void mlme_init_obss_ht40_cfg(struct wlan_objmgr_psoc *psoc,

View File

@@ -30,8 +30,8 @@
"1,2,3,4,5,6,7,8,9,0", \
"CFG_SSID")
#define CFG_BEACON_INTERVAL CFG_UINT( \
"cfg_beacon_interval", \
#define CFG_BEACON_INTERVAL CFG_INI_UINT( \
"gBeaconInterval", \
0, \
65535, \
100, \
@@ -87,10 +87,10 @@
*
* </ini>
*/
#define CFG_INI_ENABLE_LTE_COEX CFG_INI_BOOL( \
"cfg_enable_lte_coex", \
#define CFG_ENABLE_LTE_COEX CFG_INI_BOOL( \
"gEnableLTECoex", \
0, \
"CFG_ENABLE_LTE_COEX")
"enabled lte coex")
#define CFG_RMC_ACTION_PERIOD_FREQUENCY CFG_UINT( \
"cfg_rcm_action_period_frequency", \
@@ -117,13 +117,13 @@
*
* </ini>
*/
#define CFG_INI_RATE_FOR_TX_MGMT CFG_INI_UINT( \
"cfg_rate_for_tx_mgmt", \
#define CFG_RATE_FOR_TX_MGMT CFG_INI_UINT( \
"gRateForTxMgmt", \
0, \
0xFF, \
0xFF, \
CFG_VALUE_OR_DEFAULT, \
"CFG_INI_RATE_FOR_TX_MGMT")
"set rate for mgmt tx")
/*
* <ini>
@@ -141,13 +141,13 @@
*
* </ini>
*/
#define CFG_INI_RATE_FOR_TX_MGMT_2G CFG_INI_UINT( \
"cfg_rate_for_tx_mgmt_2g", \
#define CFG_RATE_FOR_TX_MGMT_2G CFG_INI_UINT( \
"gRateForTxMgmt2G", \
0, \
255, \
255, \
CFG_VALUE_OR_DEFAULT, \
"CFG_INI_RATE_FOR_TX_MGMT_2G")
"set rate for mgmt tx 2g")
/*
* <ini>
@@ -166,13 +166,13 @@
*
* </ini>
*/
#define CFG_INI_RATE_FOR_TX_MGMT_5G CFG_INI_UINT( \
"cfg_rate_for_tx_mgmt_5g", \
#define CFG_RATE_FOR_TX_MGMT_5G CFG_INI_UINT( \
"gRateForTxMgmt5G", \
0, \
255, \
255, \
CFG_VALUE_OR_DEFAULT, \
"CFG_INI_RATE_FOR_TX_MGMT_5G")
"set rate for mgmt tx 5g")
/*
* <ini>
@@ -191,10 +191,10 @@
*
* </ini>
*/
#define CFG_INI_TELE_BCN_WAKEUP_EN CFG_INI_BOOL( \
#define CFG_TELE_BCN_WAKEUP_EN CFG_INI_BOOL( \
"gTelescopicBeaconWakeupEn", \
0, \
"CFG_TELE_BCN_WAKEUP_EN")
"set tescopic beacon wakeup")
/*
* <ini>
@@ -213,13 +213,13 @@
*
* </ini>
*/
#define CFG_INI_TELE_BCN_MAX_LI CFG_INI_UINT( \
#define CFG_TELE_BCN_MAX_LI CFG_INI_UINT( \
"telescopicBeaconMaxListenInterval", \
0, \
7, \
5, \
CFG_VALUE_OR_DEFAULT, \
"CFG_TELE_BCN_MAX_LI")
"set telescopic beacon max listen")
/*
* <ini>
@@ -234,10 +234,10 @@
*
* </ini>
*/
#define CFG_INI_SAP_GET_PEER_INFO CFG_INI_BOOL( \
#define CFG_SAP_GET_PEER_INFO CFG_INI_BOOL( \
"gSapGetPeerInfo", \
0, \
"CFG_INI_SAP_GET_PEER_INFO")
"sap get peer info")
/*
* <ini>
@@ -256,10 +256,10 @@
*
* </ini>
*/
#define CFG_INI_SAP_ALLOW_ALL_CHANNEL_PARAM CFG_INI_BOOL( \
#define CFG_SAP_ALLOW_ALL_CHANNEL_PARAM CFG_INI_BOOL( \
"gSapAllowAllChannel", \
0, \
"CFG_INI_SAP_ALLOW_ALL_CHANNEL_PARAM")
"sap allow all channel params")
/*
* <ini>
@@ -278,13 +278,13 @@
*
* </ini>
*/
#define CFG_INI_SAP_MAX_NO_PEERS CFG_INI_UINT( \
#define CFG_SAP_MAX_NO_PEERS CFG_INI_UINT( \
"gSoftApMaxPeers", \
1, \
32, \
32, \
CFG_VALUE_OR_DEFAULT, \
"CFG_INI_SAP_MAX_NO_PEERS")
"max no of peers")
/*
* <ini>
@@ -303,13 +303,13 @@
*
* </ini>
*/
#define CFG_INI_SAP_MAX_OFFLOAD_PEERS CFG_INI_UINT( \
#define CFG_SAP_MAX_OFFLOAD_PEERS CFG_INI_UINT( \
"gMaxOffloadPeers", \
2, \
5, \
2, \
CFG_VALUE_OR_DEFAULT, \
"CFG_INI_SAP_MAX_OFFLOAD_PEERS")
"max offload peers")
/*
* <ini>
@@ -328,13 +328,13 @@
*
* </ini>
*/
#define CFG_INI_SAP_MAX_OFFLOAD_REORDER_BUFFS CFG_INI_UINT( \
#define CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS CFG_INI_UINT( \
"gMaxOffloadReorderBuffs", \
0, \
3, \
2, \
CFG_VALUE_OR_DEFAULT, \
"CFG_INI_SAP_MAX_OFFLOAD_REORDER_BUFFS")
"sap max offload reorder buffs")
/*
* <ini>
@@ -353,13 +353,13 @@
*
* </ini>
*/
#define CFG_INI_SAP_CH_SWITCH_BEACON_CNT CFG_INI_UINT( \
#define CFG_SAP_CH_SWITCH_BEACON_CNT CFG_INI_UINT( \
"g_sap_chanswitch_beacon_cnt", \
1, \
10, \
10, \
CFG_VALUE_OR_DEFAULT, \
"CFG_INI_SAP_CH_SWITCH_BEACON_CNT")
"set channel switch beacon count")
/*
* <ini>
@@ -376,10 +376,10 @@
*
* </ini>
*/
#define CFG_INI_SAP_CH_SWITCH_MODE CFG_INI_BOOL( \
#define CFG_SAP_CH_SWITCH_MODE CFG_INI_BOOL( \
"g_sap_chanswitch_mode", \
1, \
"CFG_INI_SAP_CH_SWITCH_MODE")
"sap channel switch mode")
/*
* <ini>
@@ -398,10 +398,10 @@
*
* </ini>
*/
#define CFG_INI_SAP_INTERNAL_RESTART_NAME CFG_INI_BOOL( \
#define CFG_SAP_INTERNAL_RESTART CFG_INI_BOOL( \
"gEnableSapInternalRestart", \
1, \
"CFG_SAP_INTERNAL_RESTART_NAME")
"sap internal restart")
/*
* <ini>
@@ -420,10 +420,10 @@
*
* </ini>
*/
#define CFG_INI_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_NAME CFG_INI_BOOL( \
#define CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_NAME CFG_INI_BOOL( \
"gChanSwitchHostapdRateEnabled", \
0, \
"CFG_INI_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_NAME")
"chan switch hostapd rate enabled")
/*
* gReducedBeaconInterval - beacon interval reduced
@@ -444,13 +444,13 @@
*
* </ini>
*/
#define CFG_INI_REDUCED_BEACON_INTERVAL CFG_INI_UINT( \
#define CFG_REDUCED_BEACON_INTERVAL CFG_INI_UINT( \
"gReducedBeaconInterval", \
0, \
100, \
0, \
CFG_VALUE_OR_DEFAULT, \
"CFG_INI_REDUCED_BEACON_INTERVAL")
"reduced beacon interval")
#define CFG_SAP_ALL \
CFG(CFG_SSID) \
@@ -459,22 +459,22 @@
CFG(CFG_LISTEN_INTERVAL) \
CFG(CFG_11G_ONLY_POLICY) \
CFG(CFG_ASSOC_STA_LIMIT) \
CFG(CFG_INI_ENABLE_LTE_COEX) \
CFG(CFG_ENABLE_LTE_COEX) \
CFG(CFG_RMC_ACTION_PERIOD_FREQUENCY) \
CFG(CFG_INI_RATE_FOR_TX_MGMT) \
CFG(CFG_INI_RATE_FOR_TX_MGMT_2G) \
CFG(CFG_INI_RATE_FOR_TX_MGMT_5G) \
CFG(CFG_INI_TELE_BCN_WAKEUP_EN) \
CFG(CFG_INI_TELE_BCN_MAX_LI) \
CFG(CFG_INI_SAP_GET_PEER_INFO) \
CFG(CFG_INI_SAP_ALLOW_ALL_CHANNEL_PARAM) \
CFG(CFG_INI_SAP_MAX_NO_PEERS) \
CFG(CFG_INI_SAP_MAX_OFFLOAD_PEERS) \
CFG(CFG_INI_SAP_MAX_OFFLOAD_REORDER_BUFFS) \
CFG(CFG_INI_SAP_CH_SWITCH_BEACON_CNT) \
CFG(CFG_INI_SAP_CH_SWITCH_MODE) \
CFG(CFG_INI_SAP_INTERNAL_RESTART_NAME) \
CFG(CFG_INI_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_NAME) \
CFG(CFG_INI_REDUCED_BEACON_INTERVAL)
CFG(CFG_RATE_FOR_TX_MGMT) \
CFG(CFG_RATE_FOR_TX_MGMT_2G) \
CFG(CFG_RATE_FOR_TX_MGMT_5G) \
CFG(CFG_TELE_BCN_WAKEUP_EN) \
CFG(CFG_TELE_BCN_MAX_LI) \
CFG(CFG_SAP_GET_PEER_INFO) \
CFG(CFG_SAP_ALLOW_ALL_CHANNEL_PARAM) \
CFG(CFG_SAP_MAX_NO_PEERS) \
CFG(CFG_SAP_MAX_OFFLOAD_PEERS) \
CFG(CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS) \
CFG(CFG_SAP_CH_SWITCH_BEACON_CNT) \
CFG(CFG_SAP_CH_SWITCH_MODE) \
CFG(CFG_SAP_INTERNAL_RESTART) \
CFG(CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_NAME) \
CFG(CFG_REDUCED_BEACON_INTERVAL)
#endif /* __CFG_MLME_SAP_H */

View File

@@ -126,4 +126,151 @@ QDF_STATUS wlan_mlme_get_num_11ag_tx_chains(struct wlan_objmgr_psoc *psoc,
QDF_STATUS wlan_mlme_configure_chain_mask(struct wlan_objmgr_psoc *psoc,
uint8_t session_id);
/**
* wlan_mlme_set_sap_listen_interval() - Set the sap listen interval
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Return: QDF Status
*/
QDF_STATUS wlan_mlme_set_sap_listen_interval(struct wlan_objmgr_psoc *psoc,
int value);
/**
* wlan_mlme_set_assoc_sta_limit() - Set the assoc sta limit
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Return: QDF Status
*/
QDF_STATUS wlan_mlme_set_assoc_sta_limit(struct wlan_objmgr_psoc *psoc,
int value);
/**
* wlan_mlme_set_rmc_action_period_freq() - Set the rmc action period frequency
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Return: QDF Status
*/
QDF_STATUS wlan_mlme_set_rmc_action_period_freq(struct wlan_objmgr_psoc *psoc,
int value);
/**
* wlan_mlme_set_sap_get_peer_info() - get the sap get peer info
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Return: QDF Status
*/
QDF_STATUS wlan_mlme_get_sap_get_peer_info(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_get_sap_allow_all_channels() - get the value of sap allow all
* channels
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Return: QDF Status
*/
QDF_STATUS wlan_mlme_get_sap_allow_all_channels(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_get_sap_allow_all_channels() - get the value sap max peers
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Return: QDF Status
*/
QDF_STATUS wlan_mlme_get_sap_max_peers(struct wlan_objmgr_psoc *psoc,
int *value);
/**
* wlan_mlme_set_sap_max_peers() - set the value sap max peers
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Return: QDF Status
*/
QDF_STATUS wlan_mlme_set_sap_max_peers(struct wlan_objmgr_psoc *psoc,
int value);
/**
* wlan_mlme_get_sap_max_offload_peers() - get the value sap max offload peers
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Return: QDF Status
*/
QDF_STATUS wlan_mlme_get_sap_max_offload_peers(struct wlan_objmgr_psoc *psoc,
int *value);
/**
* wlan_mlme_get_sap_max_offload_reorder_buffs() - get the value sap max offload
* reorder buffs.
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Return: QDF Status
*/
QDF_STATUS wlan_mlme_get_sap_max_offload_reorder_buffs(struct wlan_objmgr_psoc
*psoc, int *value);
/**
* wlan_mlme_get_sap_chn_switch_bcn_count() - get the value sap max channel
* switch beacon count
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Return: QDF Status
*/
QDF_STATUS wlan_mlme_get_sap_chn_switch_bcn_count(struct wlan_objmgr_psoc *psoc,
int *value);
/**
* wlan_mlme_get_sap_chn_switch_mode() - get the sap channel
* switch mode
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Return: QDF Status
*/
QDF_STATUS wlan_mlme_get_sap_chn_switch_mode(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_get_sap_internal_restart() - get the sap internal
* restart
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Return: QDF Status
*/
QDF_STATUS wlan_mlme_get_sap_internal_restart(struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_get_sap_reduced_beacon_interval() - get the sap reduced
* beacon interval
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Return: QDF Status
*/
QDF_STATUS wlan_mlme_get_sap_reduced_beacon_interval(struct wlan_objmgr_psoc
*psoc, int *value);
/**
* wlan_mlme_get_sap_chan_switch_rate_enabled() - get the sap rate hostapd
* enabled beacon interval
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Return: QDF Status
*/
QDF_STATUS wlan_mlme_get_sap_chan_switch_rate_enabled(struct wlan_objmgr_psoc
*psoc, bool *value);
#endif /* _WLAN_MLME_API_H_ */

View File

@@ -113,8 +113,8 @@ struct wlan_mlme_cfg_sap {
uint8_t sap_max_offload_peers;
uint8_t sap_max_offload_reorder_buffs;
uint8_t sap_ch_switch_beacon_cnt;
bool sap_internal_restart;
bool sap_ch_switch_mode;
bool sap_internal_restart_name;
bool chan_switch_hostapd_rate_enabled_name;
uint8_t reduced_beacon_interval;
};

View File

@@ -366,4 +366,231 @@ ucfg_mlme_set_roaming_offload(struct wlan_objmgr_psoc *psoc,
QDF_STATUS
ucfg_mlme_get_first_scan_bucket_threshold(struct wlan_objmgr_psoc *psoc,
uint8_t *val);
/**
* ucfg_mlme_set_sap_listen_interval() - Set the Sap listen interval
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Inline UCFG API to be used by HDD/OSIF callers
*
* Return: QDF Status
*/
static inline
QDF_STATUS ucfg_mlme_set_sap_listen_interval(struct wlan_objmgr_psoc *psoc,
int value)
{
return wlan_mlme_set_sap_listen_interval(psoc, value);
}
/**
* ucfg_mlme_set_assoc_sta_limit() - Set the assoc sta limit
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Inline UCFG API to be used by HDD/OSIF callers
*
* Return: QDF Status
*/
static inline
QDF_STATUS ucfg_mlme_set_assoc_sta_limit(struct wlan_objmgr_psoc *psoc,
int value)
{
return wlan_mlme_set_assoc_sta_limit(psoc, value);
}
/**
* ucfg_mlme_set_rmc_action_period_freq() - Set the rmc action period frequency
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Inline UCFG API to be used by HDD/OSIF callers
*
* Return: QDF Status
*/
static inline
QDF_STATUS ucfg_mlme_set_rmc_action_period_freq(struct wlan_objmgr_psoc *psoc,
int value)
{
return wlan_mlme_set_rmc_action_period_freq(psoc, value);
}
/**
* ucfg_mlme_get_sap_get_peer_info() - get the sap get peer info
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Inline UCFG API to be used by HDD/OSIF callers
*
* Return: QDF Status
*/
static inline
QDF_STATUS ucfg_mlme_get_sap_get_peer_info(struct wlan_objmgr_psoc *psoc,
bool *value)
{
return wlan_mlme_get_sap_get_peer_info(psoc, value);
}
/**
* ucfg_mlme_get_sap_allow_all_channels() - get the sap allow all channels
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Inline UCFG API to be used by HDD/OSIF callers
*
* Return: QDF Status
*/
static inline
QDF_STATUS ucfg_mlme_get_sap_allow_all_channels(struct wlan_objmgr_psoc *psoc,
bool *value)
{
return wlan_mlme_get_sap_allow_all_channels(psoc, value);
}
/**
* ucfg_mlme_get_sap_max_peers() - get the sap max peers
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Inline UCFG API to be used by HDD/OSIF callers
*
* Return: QDF Status
*/
static inline
QDF_STATUS ucfg_mlme_get_sap_max_peers(struct wlan_objmgr_psoc *psoc,
int *value)
{
return wlan_mlme_get_sap_max_peers(psoc, value);
}
/**
* ucfg_mlme_set_sap_max_peers() - Set the sap max peers
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Inline UCFG API to be used by HDD/OSIF callers
*
* Return: QDF Status
*/
static inline
QDF_STATUS ucfg_mlme_set_sap_max_peers(struct wlan_objmgr_psoc *psoc, int value)
{
return wlan_mlme_set_sap_max_peers(psoc, value);
}
/**
* ucfg_mlme_get_sap_max_offload_peers() - get the sap max offload peers
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Inline UCFG API to be used by HDD/OSIF callers
*
* Return: QDF Status
*/
static inline
QDF_STATUS ucfg_mlme_get_sap_max_offload_peers(struct wlan_objmgr_psoc *psoc,
int *value)
{
return wlan_mlme_get_sap_max_offload_peers(psoc, value);
}
/**
* ucfg_mlme_get_sap_max_offload_reorder_buffs() - get the sap max offload
* reorder buffs
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Inline UCFG API to be used by HDD/OSIF callers
*
* Return: QDF Status
*/
static inline
QDF_STATUS ucfg_mlme_get_sap_max_offload_reorder_buffs(struct wlan_objmgr_psoc
*psoc, int *value)
{
return wlan_mlme_get_sap_max_offload_reorder_buffs(psoc, value);
}
/**
* ucfg_mlme_get_sap_chn_switch_bcn_count() - get the sap channel
* switch beacon count
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Inline UCFG API to be used by HDD/OSIF callers
*
* Return: QDF Status
*/
static inline
QDF_STATUS ucfg_mlme_get_sap_chn_switch_bcn_count(struct wlan_objmgr_psoc *psoc,
int *value)
{
return wlan_mlme_get_sap_chn_switch_bcn_count(psoc, value);
}
/**
* ucfg_mlme_get_sap_channel_switch_mode() - get the sap channel switch mode
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Inline UCFG API to be used by HDD/OSIF callers
*
* Return: QDF Status
*/
static inline
QDF_STATUS ucfg_mlme_get_sap_channel_switch_mode(struct wlan_objmgr_psoc *psoc,
bool *value)
{
return wlan_mlme_get_sap_chn_switch_mode(psoc, value);
}
/**
* ucfg_mlme_get_sap_internal_restart() - get sap internal restart value
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Inline UCFG API to be used by HDD/OSIF callers
*
* Return: QDF Status
*/
static inline
QDF_STATUS ucfg_mlme_get_sap_internal_restart(struct wlan_objmgr_psoc *psoc,
bool *value)
{
return wlan_mlme_get_sap_internal_restart(psoc, value);
}
/**
* ucfg_mlme_get_sap_reduces_beacon_interval() - get the sap reduces beacon
* interval
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Inline UCFG API to be used by HDD/OSIF callers
*
* Return: QDF Status
*/
static inline
QDF_STATUS ucfg_mlme_get_sap_reduces_beacon_interval(struct wlan_objmgr_psoc
*psoc, int *value)
{
return wlan_mlme_get_sap_reduced_beacon_interval(psoc, value);
}
/**
* ucfg_mlme_get_sap_chan_switch_rate_enabled() - get the sap channel
* switch rate enabled.
* @psoc: pointer to psoc object
* @value: Value that needs to be set from the caller
*
* Inline UCFG API to be used by HDD/OSIF callers
*
* Return: QDF Status
*/
static inline
QDF_STATUS ucfg_mlme_get_sap_chan_switch_rate_enabled(struct wlan_objmgr_psoc
*psoc, bool *value)
{
return wlan_mlme_get_sap_chan_switch_rate_enabled(psoc, value);
}
#endif /* _WLAN_MLME_UCFG_API_H_ */

View File

@@ -226,3 +226,239 @@ QDF_STATUS wlan_mlme_configure_chain_mask(struct wlan_objmgr_psoc *psoc,
return QDF_STATUS_SUCCESS;
}
QDF_STATUS wlan_mlme_set_sap_listen_interval(struct wlan_objmgr_psoc *psoc,
int value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
if (cfg_in_range(CFG_LISTEN_INTERVAL, value))
mlme_obj->cfg.sap_cfg.listen_interval = value;
else
return QDF_STATUS_E_FAILURE;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS wlan_mlme_set_assoc_sta_limit(struct wlan_objmgr_psoc *psoc,
int value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
if (cfg_in_range(CFG_ASSOC_STA_LIMIT, value))
mlme_obj->cfg.sap_cfg.assoc_sta_limit = value;
else
return QDF_STATUS_E_FAILURE;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS wlan_mlme_set_rmc_action_period_freq(struct wlan_objmgr_psoc *psoc,
int value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
if (cfg_in_range(CFG_RMC_ACTION_PERIOD_FREQUENCY, value))
mlme_obj->cfg.sap_cfg.rmc_action_period_freq = value;
else
return QDF_STATUS_E_FAILURE;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS wlan_mlme_get_sap_get_peer_info(struct wlan_objmgr_psoc *psoc,
bool *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.sap_cfg.sap_get_peer_info;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS wlan_mlme_get_sap_allow_all_channels(struct wlan_objmgr_psoc *psoc,
bool *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.sap_cfg.sap_allow_all_chan_param_name;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS wlan_mlme_get_sap_max_peers(struct wlan_objmgr_psoc *psoc,
int *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.sap_cfg.sap_max_no_peers;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS wlan_mlme_set_sap_max_peers(struct wlan_objmgr_psoc *psoc,
int value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
if (cfg_in_range(CFG_RMC_ACTION_PERIOD_FREQUENCY, value))
mlme_obj->cfg.sap_cfg.sap_max_no_peers = value;
else
return QDF_STATUS_E_FAILURE;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS wlan_mlme_get_sap_max_offload_peers(struct wlan_objmgr_psoc *psoc,
int *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.sap_cfg.sap_max_offload_peers;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS wlan_mlme_get_sap_max_offload_reorder_buffs(struct wlan_objmgr_psoc
*psoc, int *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.sap_cfg.sap_max_offload_reorder_buffs;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS wlan_mlme_get_sap_chn_switch_bcn_count(struct wlan_objmgr_psoc *psoc,
int *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.sap_cfg.sap_ch_switch_beacon_cnt;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS wlan_mlme_get_sap_chn_switch_mode(struct wlan_objmgr_psoc *psoc,
bool *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.sap_cfg.sap_ch_switch_mode;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS wlan_mlme_get_sap_internal_restart(struct wlan_objmgr_psoc *psoc,
bool *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.sap_cfg.sap_internal_restart;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS wlan_mlme_get_sap_reduced_beacon_interval(struct wlan_objmgr_psoc
*psoc, int *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.sap_cfg.reduced_beacon_interval;
return QDF_STATUS_SUCCESS;
}
QDF_STATUS wlan_mlme_get_sap_chan_switch_rate_enabled(struct wlan_objmgr_psoc
*psoc, bool *value)
{
struct wlan_mlme_psoc_obj *mlme_obj;
mlme_obj = mlme_get_psoc_obj(psoc);
if (!mlme_obj) {
mlme_err("Failed to get MLME Obj");
return QDF_STATUS_E_FAILURE;
}
*value = mlme_obj->cfg.sap_cfg.chan_switch_hostapd_rate_enabled_name;
return QDF_STATUS_SUCCESS;
}

View File

@@ -68,6 +68,7 @@
#ifdef QCA_WIFI_QCA8074
#include <target_if_dp.h>
#endif
#include "wlan_mlme_ucfg_api.h"
/* Preprocessor Definitions and Constants */
@@ -594,7 +595,7 @@ QDF_STATUS cds_open(struct wlan_objmgr_psoc *psoc)
* con_mode change happens from FTM mode to any other mode.
*/
if (QDF_DRIVER_TYPE_PRODUCTION == cds_cfg->driver_type)
hdd_ctx->config->maxNumberOfPeers = cds_cfg->max_station;
ucfg_mlme_set_sap_max_peers(psoc, cds_cfg->max_station);
HTCHandle = cds_get_context(QDF_MODULE_ID_HTC);
if (!HTCHandle) {

View File

@@ -2487,28 +2487,6 @@ enum hdd_dot11_mode {
#define CFG_AP_LINK_MONITOR_PERIOD_MAX (50)
#define CFG_AP_LINK_MONITOR_PERIOD_DEFAULT (10)
/*
* <ini>
* gBeaconInterval - Beacon interval for SoftAP
* @Min: 0
* @Max: 65535
* @Default: 100
*
* This ini is used to set beacon interval for SoftAP
*
* Related: None.
*
* Supported Feature: SAP
*
* Usage: Internal/External
*
* </ini>
*/
#define CFG_BEACON_INTERVAL_NAME "gBeaconInterval"
#define CFG_BEACON_INTERVAL_MIN WNI_CFG_BEACON_INTERVAL_STAMIN
#define CFG_BEACON_INTERVAL_MAX WNI_CFG_BEACON_INTERVAL_STAMAX
#define CFG_BEACON_INTERVAL_DEFAULT WNI_CFG_BEACON_INTERVAL_STADEF
#ifdef FEATURE_WLAN_AUTO_SHUTDOWN
#define CFG_WLAN_AUTO_SHUTDOWN "gWlanAutoShutdown"
#define CFG_WLAN_AUTO_SHUTDOWN_MIN (0)
@@ -2555,11 +2533,6 @@ enum hdd_dot11_mode {
#define CFG_DISABLE_PACKET_FILTER_MAX (1)
#define CFG_DISABLE_PACKET_FILTER_DEFAULT (1)
#define CFG_ENABLE_LTE_COEX "gEnableLTECoex"
#define CFG_ENABLE_LTE_COEX_MIN (0)
#define CFG_ENABLE_LTE_COEX_MAX (1)
#define CFG_ENABLE_LTE_COEX_DEFAULT (0)
#define CFG_VCC_RSSI_TRIGGER_NAME "gVccRssiTrigger"
#define CFG_VCC_RSSI_TRIGGER_MIN (0)
#define CFG_VCC_RSSI_TRIGGER_MAX (80)
@@ -3792,11 +3765,6 @@ enum station_keepalive_method {
#define CFG_RM_CAPABILITY_NAME "rm_capability"
#define CFG_RM_CAPABILITY_DEFAULT "73,10,91,00,04"
#define CFG_TELE_BCN_MAX_LI_NAME "telescopicBeaconMaxListenInterval"
#define CFG_TELE_BCN_MAX_LI_MIN (0)
#define CFG_TELE_BCN_MAX_LI_MAX (7)
#define CFG_TELE_BCN_MAX_LI_DEFAULT (5)
#define CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_NAME "gNeighborLookupThreshold"
#define CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MIN (10)
#define CFG_NEIGHBOR_LOOKUP_RSSI_THRESHOLD_MAX (120)
@@ -3827,29 +3795,6 @@ enum station_keepalive_method {
#define CFG_ROAM_BEACON_RSSI_WEIGHT_MAX (16)
#define CFG_ROAM_BEACON_RSSI_WEIGHT_DEFAULT (14)
/*
* <ini>
* gTelescopicBeaconWakeupEn - Set teles copic beacon wakeup
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to set default teles copic beacon wakeup
*
* Related: None
*
* Supported Feature: STA
*
* Usage: Internal/External
*
* </ini>
*/
#define CFG_TELE_BCN_WAKEUP_EN_NAME "gTelescopicBeaconWakeupEn"
#define CFG_TELE_BCN_WAKEUP_EN_MIN (0)
#define CFG_TELE_BCN_WAKEUP_EN_MAX (1)
#define CFG_TELE_BCN_WAKEUP_EN_DEFAULT (0)
#define CFG_AP_DATA_AVAIL_POLL_PERIOD_NAME "gApDataAvailPollInterval"
#define CFG_AP_DATA_AVAIL_POLL_PERIOD_MIN (WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD_STAMIN)
#define CFG_AP_DATA_AVAIL_POLL_PERIOD_MAX (WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD_STAMAX)
@@ -5255,85 +5200,6 @@ enum hdd_link_speed_rpt_type {
#define CFG_ENABLE_TX_STBC_MAX (1)
#define CFG_ENABLE_TX_STBC_DEFAULT (0)
/*
* <ini>
* gSapGetPeerInfo - Enable/Disable remote peer info query support
* @Min: 0 - Disable remote peer info query support
* @Max: 1 - Enable remote peer info query support
* @Default: 0
*
* This ini is used to enable/disable remote peer info query support
*
* Usage: External
*
* </ini>
*/
#define CFG_SAP_GET_PEER_INFO "gSapGetPeerInfo"
#define CFG_SAP_GET_PEER_INFO_MIN (0)
#define CFG_SAP_GET_PEER_INFO_MAX (1)
#define CFG_SAP_GET_PEER_INFO_DEFAULT (0)
/*
* <ini>
* gRateForTxMgmt - rate for tx mgmt frame
* @Min: 0x0
* @Max: 0xFF
* @Default: 0xFF
*
* This ini is used to configure the rate for tx
* mgmt frame. Default 0xFF means disable.
*
* Usage: External
*
* </ini>
*/
#define CFG_RATE_FOR_TX_MGMT "gRateForTxMgmt"
#define CFG_RATE_FOR_TX_MGMT_MIN (WNI_CFG_RATE_FOR_TX_MGMT_STAMIN)
#define CFG_RATE_FOR_TX_MGMT_MAX (WNI_CFG_RATE_FOR_TX_MGMT_STAMAX)
#define CFG_RATE_FOR_TX_MGMT_DEFAULT (WNI_CFG_RATE_FOR_TX_MGMT_STADEF)
/*
* <ini>
* gRateForTxMgmt2G - rate for tx mgmt frame on 2G
* @Min: 0x0
* @Max: 0xFF
* @Default: 0xFF
*
* This ini is used to configure the rate for tx
* mgmt frame on 2G Band. Default 0xFF means disable.
* It has higher priority and will overwrite gRateForTxMgmt
* setting.
*
* Usage: External
*
* </ini>
*/
#define CFG_RATE_FOR_TX_MGMT_2G "gRateForTxMgmt2G"
#define CFG_RATE_FOR_TX_MGMT_2G_MIN (WNI_CFG_RATE_FOR_TX_MGMT_2G_STAMIN)
#define CFG_RATE_FOR_TX_MGMT_2G_MAX (WNI_CFG_RATE_FOR_TX_MGMT_2G_STAMAX)
#define CFG_RATE_FOR_TX_MGMT_2G_DEFAULT (WNI_CFG_RATE_FOR_TX_MGMT_2G_STADEF)
/*
* <ini>
* gRateForTxMgmt5G - rate for tx mgmt frame on 5G
* @Min: 0x0
* @Max: 0xFF
* @Default: 0xFF
*
* This ini is used to configure the rate for tx
* mgmt frame on 5G Band. Default 0xFF means disable.
* It has higher priority and will overwrite gRateForTxMgmt
* setting.
*
* Usage: External
*
* </ini>
*/
#define CFG_RATE_FOR_TX_MGMT_5G "gRateForTxMgmt5G"
#define CFG_RATE_FOR_TX_MGMT_5G_MIN (WNI_CFG_RATE_FOR_TX_MGMT_5G_STAMIN)
#define CFG_RATE_FOR_TX_MGMT_5G_MAX (WNI_CFG_RATE_FOR_TX_MGMT_5G_STAMAX)
#define CFG_RATE_FOR_TX_MGMT_5G_DEFAULT (WNI_CFG_RATE_FOR_TX_MGMT_5G_STADEF)
/*
* <ini>
* gPreventLinkDown - Enable to prevent bus link from going down
@@ -5513,14 +5379,6 @@ enum hdd_link_speed_rpt_type {
#define CFG_VHT_ENABLE_TX_SU_BEAM_FORMER_MAX (1)
#define CFG_VHT_ENABLE_TX_SU_BEAM_FORMER_DEFAULT (0)
/*
* SAP ALLOW All Channels
*/
#define CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME "gSapAllowAllChannel"
#define CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN (0)
#define CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX (1)
#define CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT (0)
#define CFG_DISABLE_LDPC_WITH_TXBF_AP "gDisableLDPCWithTxbfAP"
#define CFG_DISABLE_LDPC_WITH_TXBF_AP_MIN (0)
#define CFG_DISABLE_LDPC_WITH_TXBF_AP_MAX (1)
@@ -5691,11 +5549,6 @@ enum hdd_link_speed_rpt_type {
#define CFG_VHT_MPDU_LEN_MAX (2)
#define CFG_VHT_MPDU_LEN_DEFAULT (0)
#define CFG_SAP_MAX_NO_PEERS "gSoftApMaxPeers"
#define CFG_SAP_MAX_NO_PEERS_MIN (1)
#define CFG_SAP_MAX_NO_PEERS_MAX (SIR_SAP_MAX_NUM_PEERS)
#define CFG_SAP_MAX_NO_PEERS_DEFAULT (SIR_SAP_MAX_NUM_PEERS)
/*
* <ini>
* gEnableDebugLog - Enable/Disable the Connection related logs
@@ -6043,16 +5896,6 @@ enum hdd_link_speed_rpt_type {
#endif /* QCA_LL_TX_FLOW_CONTROL_V2 */
#define CFG_SAP_MAX_OFFLOAD_PEERS "gMaxOffloadPeers"
#define CFG_SAP_MAX_OFFLOAD_PEERS_MIN (2)
#define CFG_SAP_MAX_OFFLOAD_PEERS_MAX (5)
#define CFG_SAP_MAX_OFFLOAD_PEERS_DEFAULT (2)
#define CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS "gMaxOffloadReorderBuffs"
#define CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS_MIN (0)
#define CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS_MAX (3)
#define CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS_DEFAULT (2)
#ifdef FEATURE_WLAN_RA_FILTERING
#define CFG_RA_FILTER_ENABLE_NAME "gRAFilterEnable"
#define CFG_RA_FILTER_ENABLE_MIN (0)
@@ -7874,11 +7717,6 @@ enum hdd_link_speed_rpt_type {
#define CFG_SUB_20_CHANNEL_WIDTH_MAX (WLAN_SUB_20_CH_WIDTH_10)
#define CFG_SUB_20_CHANNEL_WIDTH_DEFAULT (WLAN_SUB_20_CH_WIDTH_NONE)
#define CFG_SAP_INTERNAL_RESTART_NAME "gEnableSapInternalRestart"
#define CFG_SAP_INTERNAL_RESTART_MIN (0)
#define CFG_SAP_INTERNAL_RESTART_MAX (1)
#define CFG_SAP_INTERNAL_RESTART_DEFAULT (1)
/*
* <ini>
* restart_beaconing_on_chan_avoid_event - control the beaconing entity to move
@@ -9419,7 +9257,6 @@ enum hdd_wext_control {
* corresponding IE needs to be included in probe request.
*
* Example:
* ========
* If IE 221 needs to be in the probe request, set the corresponding bit
* as follows:
* a= IE/32 = 221/32 = 6 = g_probe_req_ie_bitmap_6
@@ -9642,46 +9479,6 @@ enum hdd_wext_control {
#define CFG_PROBE_REQ_OUI_DEFAULT ""
/* End of probe request IE whitelisting feature ini params */
/*
* <ini>
* g_sap_chanswitch_beacon_cnt - channel switch beacon count
* @Min: 1
* @Max: 10
* @Default: 10
*
* This ini is used to configure channel switch beacon count
*
* Related: none
*
* Usage: External
*
* </ini>
*/
#define CFG_SAP_CH_SWITCH_BEACON_CNT "g_sap_chanswitch_beacon_cnt"
#define CFG_SAP_CH_SWITCH_BEACON_CNT_MIN (1)
#define CFG_SAP_CH_SWITCH_BEACON_CNT_MAX (10)
#define CFG_SAP_CH_SWITCH_BEACON_CNT_DEFAULT (10)
/*
* <ini>
* g_sap_chanswitch_mode - channel switch mode
* @Min: 0
* @Max: 1
* @Default: 1
*
* This ini is used to configure channel switch mode
*
* Related: none
*
* Usage: External
*
* </ini>
*/
#define CFG_SAP_CH_SWITCH_MODE "g_sap_chanswitch_mode"
#define CFG_SAP_CH_SWITCH_MODE_MIN (0)
#define CFG_SAP_CH_SWITCH_MODE_MAX (1)
#define CFG_SAP_CH_SWITCH_MODE_DEFAULT (1)
/**
* gSetRTSForSIFSBursting - set rts for sifs bursting
* @Min: 0
@@ -10133,35 +9930,6 @@ enum hdd_external_acs_policy {
#define CFG_IS_SAE_ENABLED_MIN (0)
#define CFG_IS_SAE_ENABLED_MAX (1)
/*
* <ini>
* gChanSwitchHostapdRateEnabled - Enable/disable hostapd rate when doing SAP
* channel switch
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to set supported rates calculated from hostapd.conf file
* or not when doing SAP channel switch. It must set it to 0 when cross-band
* channel switch happens such as from 2G to 5G or 5G to 2G.
*
* Related: When doing SAP channel switch, if gChanSwitchHostapdRateEnabled is
* set to 1, supported rates will be calculated from hostapd.conf file,
* if gChanSwitchHostapdRateEnabled is set to 0, supported rates will be
* calculated from driver default rates.
*
* Supported Feature: SAP
*
* Usage: External
*
* </ini>
*/
#define CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_NAME \
"gChanSwitchHostapdRateEnabled"
#define CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_MIN (0)
#define CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_MAX (1)
#define CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_DEFAULT (0)
#ifdef WLAN_FEATURE_PACKET_FILTERING
/*
* <ini>
@@ -10222,30 +9990,6 @@ enum hdd_external_acs_policy {
#define CFG_DFS_BEACON_TX_ENHANCED_MAX (1)
#define CFG_DFS_BEACON_TX_ENHANCED_DEFAULT (0)
/*
* gReducedBeaconInterval - beacon interval reduced
* @Min: 0
* @Max: 100
* @Default: 0
*
* This ini is used to reduce beacon interval before channel
* switch (when val great than 0, or the feature is disabled).
* It would reduce the downtime on the STA side which is
* waiting for beacons from the AP to resume back transmission.
* Switch back the beacon_interval to its original value after
* channel switch based on the timeout.
*
* Related: none
*
* Usage: External
*
* </ini>
*/
#define CFG_REDUCED_BEACON_INTERVAL "gReducedBeaconInterval"
#define CFG_REDUCED_BEACON_INTERVAL_MIN (0)
#define CFG_REDUCED_BEACON_INTERVAL_MAX (100)
#define CFG_REDUCED_BEACON_INTERVAL_DEFAULT (0)
/*
* oce_enable_rssi_assoc_reject - Enable/disable rssi based assoc rejection
* @Min: 0
@@ -11322,11 +11066,9 @@ struct hdd_config {
uint16_t apProtection;
bool apOBSSProtEnabled;
bool apDisableIntraBssFwd;
uint8_t enableLTECoex;
uint32_t apKeepAlivePeriod;
enum station_keepalive_method sta_keepalive_method;
uint32_t apLinkMonitorPeriod;
uint32_t nBeaconInterval;
uint8_t nTxPowerCap; /* In dBm */
bool allow_tpc_from_ap;
uint8_t disablePacketFilter;
@@ -11480,7 +11222,6 @@ struct hdd_config {
bool AddTSWhenACMIsOff;
uint8_t nBandCapability;
bool teleBcnWakeupEn;
/* QDF Trace Control*/
uint16_t qdf_trace_enable_wdi;
@@ -11510,7 +11251,6 @@ struct hdd_config {
#ifdef ENABLE_MTRACE_LOG
bool enable_mtrace;
#endif
uint16_t nTeleBcnMaxListenInterval;
uint8_t enableBypass11d;
uint8_t enableDFSChnlScan;
uint8_t enable_dfs_pno_chnl_scan;
@@ -11591,7 +11331,6 @@ struct hdd_config {
uint8_t scanAgingTimeout;
uint8_t disableLDPCWithTxbfAP;
uint8_t enableMCCAdaptiveScheduler;
bool sapAllowAllChannel;
bool enableSSR;
bool enable_data_stall_det;
bool enableVhtFor24GHzBand;
@@ -11637,7 +11376,6 @@ struct hdd_config {
uint32_t WlanAutoShutdown;
#endif
uint8_t wowEnable;
uint8_t maxNumberOfPeers;
uint8_t disableDFSChSwitch;
uint8_t enableDFSMasterCap;
uint16_t thermalTempMinLevel0;
@@ -11658,10 +11396,6 @@ struct hdd_config {
bool fRegChangeDefCountry;
bool acs_with_more_param;
uint32_t auto_channel_select_weight;
bool sap_get_peer_info;
uint8_t rate_for_tx_mgmt;
uint8_t rate_for_tx_mgmt_2g;
uint8_t rate_for_tx_mgmt_5g;
#ifdef QCA_LL_LEGACY_TX_FLOW_CONTROL
uint32_t TxFlowLowWaterMark;
uint32_t TxFlowHighWaterMarkOffset;
@@ -11677,8 +11411,6 @@ struct hdd_config {
uint32_t TxFlowStopQueueThreshold;
uint32_t TxFlowStartQueueOffset;
#endif
uint8_t apMaxOffloadPeers;
uint8_t apMaxOffloadReorderBuffs;
bool advertiseConcurrentOperation;
bool enableMemDeepSleep;
bool enable_cck_tx_fir_override;
@@ -11896,9 +11628,6 @@ struct hdd_config {
bool multicast_replay_filter;
bool goptimize_chan_avoid_event;
bool fw_timeout_crash;
/* beacon count before channel switch */
uint8_t sap_chanswitch_beacon_cnt;
uint8_t sap_chanswitch_mode;
uint32_t rx_wakelock_timeout;
uint32_t max_sched_scan_plan_interval;
uint32_t max_sched_scan_plan_iterations;
@@ -11976,7 +11705,6 @@ struct hdd_config {
bool enable_dtim_1chrx;
int8_t rssi_thresh_offset_5g;
uint32_t scan_11d_interval;
bool chan_switch_hostapd_rate_enabled;
bool is_bssid_hint_priority;
bool is_fils_enabled;
uint16_t wlm_latency_enable;
@@ -11990,7 +11718,6 @@ struct hdd_config {
#endif
uint8_t enable_phy_reg_retention;
uint8_t dfs_beacon_tx_enhanced;
uint16_t reduced_beacon_interval;
bool rssi_assoc_reject_enabled;
bool oce_probe_req_rate_enabled;
bool oce_probe_resp_rate_enabled;

View File

@@ -611,13 +611,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_AP_STA_SECURITY_SEPERATION_MIN,
CFG_AP_STA_SECURITY_SEPERATION_MAX),
REG_VARIABLE(CFG_ENABLE_LTE_COEX, WLAN_PARAM_Integer,
struct hdd_config, enableLTECoex,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_ENABLE_LTE_COEX_DEFAULT,
CFG_ENABLE_LTE_COEX_MIN,
CFG_ENABLE_LTE_COEX_MAX),
#ifdef FEATURE_WLAN_DYNAMIC_CVM
REG_VARIABLE(CFG_VC_MODE_BITMAP, WLAN_PARAM_HexInteger,
struct hdd_config, vc_mode_cfg_bitmap,
@@ -655,13 +648,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_DISABLE_PACKET_FILTER_MIN,
CFG_DISABLE_PACKET_FILTER_MAX),
REG_VARIABLE(CFG_BEACON_INTERVAL_NAME, WLAN_PARAM_Integer,
struct hdd_config, nBeaconInterval,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
CFG_BEACON_INTERVAL_DEFAULT,
CFG_BEACON_INTERVAL_MIN,
CFG_BEACON_INTERVAL_MAX),
REG_VARIABLE(CFG_VCC_RSSI_TRIGGER_NAME, WLAN_PARAM_Integer,
struct hdd_config, nVccRssiTrigger,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -1443,13 +1429,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_QOS_WMM_TS_INFO_ACK_POLICY_MIN,
CFG_QOS_WMM_TS_INFO_ACK_POLICY_MAX),
REG_VARIABLE(CFG_TELE_BCN_WAKEUP_EN_NAME, WLAN_PARAM_Integer,
struct hdd_config, teleBcnWakeupEn,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_TELE_BCN_WAKEUP_EN_DEFAULT,
CFG_TELE_BCN_WAKEUP_EN_MIN,
CFG_TELE_BCN_WAKEUP_EN_MAX),
REG_VARIABLE(CFG_STA_KEEPALIVE_METHOD_NAME, WLAN_PARAM_Integer,
struct hdd_config, sta_keepalive_method,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -1642,13 +1621,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_ENABLE_MTRACE_MAX),
#endif
REG_VARIABLE(CFG_TELE_BCN_MAX_LI_NAME, WLAN_PARAM_Integer,
struct hdd_config, nTeleBcnMaxListenInterval,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_TELE_BCN_MAX_LI_DEFAULT,
CFG_TELE_BCN_MAX_LI_MIN,
CFG_TELE_BCN_MAX_LI_MAX),
REG_VARIABLE(CFG_ENABLE_BYPASS_11D_NAME, WLAN_PARAM_Integer,
struct hdd_config, enableBypass11d,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -1970,34 +1942,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_DISABLE_DFS_JAPAN_W53_MAX,
ch_notify_set_g_disable_dfs_japan_w53, 0),
REG_VARIABLE(CFG_SAP_GET_PEER_INFO, WLAN_PARAM_Integer,
struct hdd_config, sap_get_peer_info,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_SAP_GET_PEER_INFO_DEFAULT,
CFG_SAP_GET_PEER_INFO_MIN,
CFG_SAP_GET_PEER_INFO_MAX),
REG_VARIABLE(CFG_RATE_FOR_TX_MGMT, WLAN_PARAM_HexInteger,
struct hdd_config, rate_for_tx_mgmt,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_RATE_FOR_TX_MGMT_DEFAULT,
CFG_RATE_FOR_TX_MGMT_MIN,
CFG_RATE_FOR_TX_MGMT_MAX),
REG_VARIABLE(CFG_RATE_FOR_TX_MGMT_2G, WLAN_PARAM_HexInteger,
struct hdd_config, rate_for_tx_mgmt_2g,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_RATE_FOR_TX_MGMT_2G_DEFAULT,
CFG_RATE_FOR_TX_MGMT_2G_MIN,
CFG_RATE_FOR_TX_MGMT_2G_MAX),
REG_VARIABLE(CFG_RATE_FOR_TX_MGMT_5G, WLAN_PARAM_HexInteger,
struct hdd_config, rate_for_tx_mgmt_5g,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_RATE_FOR_TX_MGMT_5G_DEFAULT,
CFG_RATE_FOR_TX_MGMT_5G_MIN,
CFG_RATE_FOR_TX_MGMT_5G_MAX),
REG_VARIABLE(CFG_ENABLE_FIRST_SCAN_2G_ONLY_NAME, WLAN_PARAM_Integer,
struct hdd_config, enableFirstScan2GOnly,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -2111,13 +2055,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_VHT_ENABLE_TX_SU_BEAM_FORMER_MIN,
CFG_VHT_ENABLE_TX_SU_BEAM_FORMER_MAX),
REG_VARIABLE(CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_NAME, WLAN_PARAM_Integer,
struct hdd_config, sapAllowAllChannel,
VAR_FLAGS_OPTIONAL,
CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_DEFAULT,
CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MIN,
CFG_SAP_ALLOW_ALL_CHANNEL_PARAM_MAX),
REG_VARIABLE(CFG_DISABLE_LDPC_WITH_TXBF_AP, WLAN_PARAM_Integer,
struct hdd_config, disableLDPCWithTxbfAP,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -2309,13 +2246,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_IBSS_ATIM_WIN_SIZE_MIN,
CFG_IBSS_ATIM_WIN_SIZE_MAX),
REG_VARIABLE(CFG_SAP_MAX_NO_PEERS, WLAN_PARAM_Integer,
struct hdd_config, maxNumberOfPeers,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_SAP_MAX_NO_PEERS_DEFAULT,
CFG_SAP_MAX_NO_PEERS_MIN,
CFG_SAP_MAX_NO_PEERS_MAX),
REG_VARIABLE(CFG_IBSS_IS_POWER_SAVE_ALLOWED_NAME, WLAN_PARAM_Integer,
struct hdd_config, isIbssPowerSaveAllowed,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -2572,20 +2502,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_INITIAL_SCAN_NO_DFS_CHNL_MIN,
CFG_INITIAL_SCAN_NO_DFS_CHNL_MAX),
REG_VARIABLE(CFG_SAP_MAX_OFFLOAD_PEERS, WLAN_PARAM_Integer,
struct hdd_config, apMaxOffloadPeers,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
CFG_SAP_MAX_OFFLOAD_PEERS_DEFAULT,
CFG_SAP_MAX_OFFLOAD_PEERS_MIN,
CFG_SAP_MAX_OFFLOAD_PEERS_MAX),
REG_VARIABLE(CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS, WLAN_PARAM_Integer,
struct hdd_config, apMaxOffloadReorderBuffs,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS_DEFAULT,
CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS_MIN,
CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS_MAX),
REG_VARIABLE(CFG_ADVERTISE_CONCURRENT_OPERATION_NAME,
WLAN_PARAM_Integer,
struct hdd_config, advertiseConcurrentOperation,
@@ -3694,18 +3610,7 @@ struct reg_table_entry g_registry_table[] = {
CFG_RX_WAKELOCK_TIMEOUT_DEFAULT,
CFG_RX_WAKELOCK_TIMEOUT_MIN,
CFG_RX_WAKELOCK_TIMEOUT_MAX),
REG_VARIABLE(CFG_SAP_CH_SWITCH_BEACON_CNT, WLAN_PARAM_Integer,
struct hdd_config, sap_chanswitch_beacon_cnt,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_SAP_CH_SWITCH_BEACON_CNT_DEFAULT,
CFG_SAP_CH_SWITCH_BEACON_CNT_MIN,
CFG_SAP_CH_SWITCH_BEACON_CNT_MAX),
REG_VARIABLE(CFG_SAP_CH_SWITCH_MODE, WLAN_PARAM_Integer,
struct hdd_config, sap_chanswitch_mode,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_SAP_CH_SWITCH_MODE_DEFAULT,
CFG_SAP_CH_SWITCH_MODE_MIN,
CFG_SAP_CH_SWITCH_MODE_MAX),
REG_VARIABLE(CFG_MAX_SCHED_SCAN_PLAN_INT_NAME, WLAN_PARAM_Integer,
struct hdd_config, max_sched_scan_plan_interval,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -3726,13 +3631,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_PRIVATE_WEXT_CONTROL_MIN,
CFG_PRIVATE_WEXT_CONTROL_MAX),
REG_VARIABLE(CFG_SAP_INTERNAL_RESTART_NAME, WLAN_PARAM_Integer,
struct hdd_config, sap_internal_restart,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_SAP_INTERNAL_RESTART_DEFAULT,
CFG_SAP_INTERNAL_RESTART_MIN,
CFG_SAP_INTERNAL_RESTART_MAX),
REG_VARIABLE(CFG_RESTART_BEACONING_ON_CH_AVOID_NAME, WLAN_PARAM_Integer,
struct hdd_config, restart_beaconing_on_chan_avoid_event,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -4084,14 +3982,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_SCAN_11D_INTERVAL_MIN,
CFG_SCAN_11D_INTERVAL_MAX),
REG_VARIABLE(CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_NAME,
WLAN_PARAM_Integer,
struct hdd_config, chan_switch_hostapd_rate_enabled,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_DEFAULT,
CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_MIN,
CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_MAX),
REG_VARIABLE(CFG_IS_BSSID_HINT_PRIORITY_NAME, WLAN_PARAM_Integer,
struct hdd_config, is_bssid_hint_priority,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -4165,13 +4055,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_DFS_BEACON_TX_ENHANCED_MIN,
CFG_DFS_BEACON_TX_ENHANCED_MAX),
REG_VARIABLE(CFG_REDUCED_BEACON_INTERVAL, WLAN_PARAM_Integer,
struct hdd_config, reduced_beacon_interval,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_REDUCED_BEACON_INTERVAL_DEFAULT,
CFG_REDUCED_BEACON_INTERVAL_MIN,
CFG_REDUCED_BEACON_INTERVAL_MAX),
REG_VARIABLE(CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT_NAME,
WLAN_PARAM_Integer, struct hdd_config,
rssi_assoc_reject_enabled,
@@ -5158,7 +5041,7 @@ static void hdd_set_power_save_offload_config(struct hdd_context *hdd_ctx)
* Make sure CFG is updated because PE reads this
* from CFG at the time of assoc or reassoc
*/
sme_cfg_set_int(hdd_ctx->mac_handle, WNI_CFG_LISTEN_INTERVAL,
ucfg_mlme_set_sap_listen_interval(hdd_ctx->hdd_psoc,
listenInterval);
}
@@ -5906,12 +5789,6 @@ bool hdd_update_config_cfg(struct hdd_context *hdd_ctx)
hdd_err("Couldn't pass on WNI_CFG_PASSIVE_MAXIMUM_CHANNEL_TIME to CFG");
}
if (sme_cfg_set_int(mac_handle, WNI_CFG_BEACON_INTERVAL,
config->nBeaconInterval) == QDF_STATUS_E_FAILURE) {
status = false;
hdd_err("Couldn't pass on WNI_CFG_BEACON_INTERVAL to CFG");
}
if (sme_cfg_set_int(mac_handle, WNI_CFG_MAX_PS_POLL,
config->nMaxPsPoll) == QDF_STATUS_E_FAILURE) {
status = false;
@@ -5931,11 +5808,6 @@ bool hdd_update_config_cfg(struct hdd_context *hdd_ctx)
hdd_err("Fail to pass WNI_CFG_PS_WOW_DATA_INACTIVITY_TO CFG");
}
if (sme_cfg_set_int(mac_handle, WNI_CFG_ENABLE_LTE_COEX,
config->enableLTECoex) == QDF_STATUS_E_FAILURE) {
status = false;
hdd_err("Couldn't pass on WNI_CFG_ENABLE_LTE_COEX to CFG");
}
if (sme_cfg_set_int(mac_handle, WNI_CFG_AP_KEEP_ALIVE_TIMEOUT,
config->apKeepAlivePeriod) == QDF_STATUS_E_FAILURE) {
@@ -5949,19 +5821,6 @@ bool hdd_update_config_cfg(struct hdd_context *hdd_ctx)
hdd_err("Couldn't pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CFG");
}
if (sme_cfg_set_int(mac_handle, WNI_CFG_TELE_BCN_WAKEUP_EN,
config->teleBcnWakeupEn) == QDF_STATUS_E_FAILURE) {
status = false;
hdd_err("Couldn't pass on WNI_CFG_TELE_BCN_WAKEUP_EN to CFG");
}
if (sme_cfg_set_int(mac_handle, WNI_CFG_TELE_BCN_MAX_LI,
config->nTeleBcnMaxListenInterval) ==
QDF_STATUS_E_FAILURE) {
status = false;
hdd_err("Couldn't pass on WNI_CFG_TELE_BCN_MAX_LI to CFG");
}
if (sme_cfg_set_int(mac_handle, WNI_CFG_FRAGMENTATION_THRESHOLD,
config->FragmentationThreshold) == QDF_STATUS_E_FAILURE) {
status = false;
@@ -6033,34 +5892,6 @@ bool hdd_update_config_cfg(struct hdd_context *hdd_ctx)
hdd_err("Couldn't pass on WNI_CFG_IBSS_ATIM_WIN_SIZE to CFG");
}
if (sme_cfg_set_int(mac_handle, WNI_CFG_RATE_FOR_TX_MGMT,
config->rate_for_tx_mgmt) ==
QDF_STATUS_E_FAILURE) {
status = false;
hdd_err("Couldn't pass on WNI_CFG_RATE_FOR_TX_MGMT to CCM");
}
if (sme_cfg_set_int(mac_handle, WNI_CFG_RATE_FOR_TX_MGMT_2G,
config->rate_for_tx_mgmt_2g) ==
QDF_STATUS_E_FAILURE) {
status = false;
hdd_err("Couldn't pass on WNI_CFG_RATE_FOR_TX_MGMT_2G to CCM");
}
if (sme_cfg_set_int(mac_handle, WNI_CFG_RATE_FOR_TX_MGMT_5G,
config->rate_for_tx_mgmt_5g) ==
QDF_STATUS_E_FAILURE) {
status = false;
hdd_err("Couldn't pass on WNI_CFG_RATE_FOR_TX_MGMT_5G to CCM");
}
if (sme_cfg_set_int(mac_handle, WNI_CFG_ASSOC_STA_LIMIT,
config->maxNumberOfPeers) ==
QDF_STATUS_E_FAILURE) {
status = false;
hdd_err("Couldn't pass on WNI_CFG_ASSOC_STA_LIMIT to CFG");
}
return status;
}

View File

@@ -125,6 +125,7 @@
#include "wlan_crypto_global_api.h"
#include "wlan_nl_to_crypto_params.h"
#include "wlan_crypto_global_def.h"
#include "cfg_ucfg_api.h"
#define g_mode_rates_size (12)
#define a_mode_rates_size (8)
@@ -12238,8 +12239,6 @@ int wlan_hdd_cfg80211_init(struct device *dev,
if (pCfg->enableDFSMasterCap)
wlan_hdd_cfg80211_set_dfs_offload_feature(wiphy);
wiphy->max_ap_assoc_sta = pCfg->maxNumberOfPeers;
#ifdef QCA_HT_2040_COEX
wiphy->features |= NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE;
#endif
@@ -12352,8 +12351,10 @@ static void wlan_hdd_update_ht_cap(struct hdd_context *hdd_ctx)
*/
void wlan_hdd_update_wiphy(struct hdd_context *hdd_ctx)
{
hdd_ctx->wiphy->max_ap_assoc_sta = hdd_ctx->config->maxNumberOfPeers;
int value;
ucfg_mlme_get_sap_max_peers(hdd_ctx->hdd_psoc, &value);
hdd_ctx->wiphy->max_ap_assoc_sta = value;
wlan_hdd_update_ht_cap(hdd_ctx);
}
@@ -12657,12 +12658,17 @@ QDF_STATUS wlan_hdd_validate_operation_channel(struct hdd_adapter *adapter,
u32 indx = 0;
mac_handle_t mac_handle = hdd_adapter_get_mac_handle(adapter);
uint8_t fValidChannel = false, count = 0;
struct hdd_config *hdd_pConfig_ini =
(WLAN_HDD_GET_CTX(adapter))->config;
QDF_STATUS status;
bool value;
struct hdd_context *hdd_ctx;
num_ch = WNI_CFG_VALID_CHANNEL_LIST_LEN;
if (hdd_pConfig_ini->sapAllowAllChannel) {
hdd_ctx = WLAN_HDD_GET_CTX(adapter);
status = ucfg_mlme_get_sap_allow_all_channels(hdd_ctx->hdd_psoc,
&value);
if (status != QDF_STATUS_SUCCESS)
hdd_err("Unable to fetch sap allow all channels");
if (value) {
/* Validate the channel */
for (count = CHAN_ENUM_1; count <= CHAN_ENUM_173; count++) {
if (channel == WLAN_REG_CH_NUM(count)) {
@@ -17243,14 +17249,12 @@ static int __wlan_hdd_cfg80211_join_ibss(struct wiphy *wiphy,
}
qdf_copy_macaddr(&bssid, &hdd_ctx->config->IbssBssid);
}
if ((params->beacon_interval > CFG_BEACON_INTERVAL_MIN)
&& (params->beacon_interval <= CFG_BEACON_INTERVAL_MAX))
if (cfg_in_range(CFG_BEACON_INTERVAL, params->beacon_interval))
roam_profile->beaconInterval = params->beacon_interval;
else {
roam_profile->beaconInterval = CFG_BEACON_INTERVAL_DEFAULT;
hdd_debug("input beacon interval %d TU is invalid, use default %d TU",
params->beacon_interval, roam_profile->beaconInterval);
}
else
roam_profile->beaconInterval = cfg_get(hdd_ctx->hdd_psoc,
CFG_BEACON_INTERVAL);
/* Set Channel */
if (channelNum) {

View File

@@ -4508,6 +4508,8 @@ int wlan_hdd_cfg80211_start_bss(struct hdd_adapter *adapter,
enum dfs_mode mode;
struct hdd_adapter *sta_adapter;
uint8_t ignore_cac = 0;
int value;
bool val;
hdd_enter();
@@ -4614,9 +4616,10 @@ int wlan_hdd_cfg80211_start_bss(struct hdd_adapter *adapter,
pConfig->auto_channel_select_weight =
iniConfig->auto_channel_select_weight;
pConfig->disableDFSChSwitch = iniConfig->disableDFSChSwitch;
pConfig->sap_chanswitch_beacon_cnt =
iniConfig->sap_chanswitch_beacon_cnt;
pConfig->sap_chanswitch_mode = iniConfig->sap_chanswitch_mode;
ucfg_mlme_get_sap_chn_switch_bcn_count(hdd_ctx->hdd_psoc, &value);
pConfig->sap_chanswitch_beacon_cnt = value;
ucfg_mlme_get_sap_channel_switch_mode(hdd_ctx->hdd_psoc, &val);
pConfig->sap_chanswitch_mode = val;
/* channel is already set in the set_channel Call back */
/* pConfig->channel = pCommitConfig->channel; */
@@ -4624,19 +4627,20 @@ int wlan_hdd_cfg80211_start_bss(struct hdd_adapter *adapter,
/* Protection parameter to enable or disable */
pConfig->protEnabled = iniConfig->apProtEnabled;
pConfig->chan_switch_hostapd_rate_enabled =
iniConfig->chan_switch_hostapd_rate_enabled;
ucfg_mlme_get_sap_chan_switch_rate_enabled(hdd_ctx->hdd_psoc, &val);
pConfig->chan_switch_hostapd_rate_enabled = val;
if (iniConfig->WlanMccToSccSwitchMode !=
QDF_MCC_TO_SCC_SWITCH_DISABLE) {
pConfig->chan_switch_hostapd_rate_enabled = false;
}
pConfig->enOverLapCh = iniConfig->gEnableOverLapCh;
ucfg_mlme_get_sap_reduces_beacon_interval(hdd_ctx->hdd_psoc, &value);
pConfig->dtim_period = pBeacon->dtim_period;
pConfig->dfs_beacon_tx_enhanced = iniConfig->dfs_beacon_tx_enhanced;
pConfig->reduced_beacon_interval =
iniConfig->reduced_beacon_interval;
pConfig->reduced_beacon_interval = value;
hdd_debug("acs_mode %d", pConfig->acs_cfg.acs_mode);
if (pConfig->acs_cfg.acs_mode == true) {

View File

@@ -39,6 +39,7 @@
#include "wlan_dfs_utils_api.h"
#include <wlan_ipa_ucfg_api.h>
#include <wlan_cfg80211_mc_cp_stats.h>
#include "wlan_mlme_ucfg_api.h"
#define IS_UP(_dev) \
(((_dev)->flags & (IFF_RUNNING|IFF_UP)) == (IFF_RUNNING|IFF_UP))
@@ -540,14 +541,13 @@ static __iw_softap_setparam(struct net_device *dev,
hdd_warn("Setting it to max allowed and continuing");
set_value = WNI_CFG_ASSOC_STA_LIMIT_STAMAX;
}
status = sme_cfg_set_int(mac_handle,
WNI_CFG_ASSOC_STA_LIMIT,
set_value);
if (status != QDF_STATUS_SUCCESS) {
hdd_err("setMaxAssoc failure, status: %d",
status);
if (ucfg_mlme_set_assoc_sta_limit(hdd_ctx->hdd_psoc,
set_value) !=
QDF_STATUS_SUCCESS) {
hdd_err("CFG_ASSOC_STA_LIMIT failed");
ret = -EIO;
}
}
break;
@@ -1205,7 +1205,6 @@ static __iw_softap_getparam(struct net_device *dev,
struct hdd_adapter *adapter = (netdev_priv(dev));
int *value = (int *)extra;
int sub_cmd = value[0];
QDF_STATUS status;
int ret;
struct hdd_context *hdd_ctx;
@@ -1222,14 +1221,12 @@ static __iw_softap_getparam(struct net_device *dev,
switch (sub_cmd) {
case QCSAP_PARAM_MAX_ASSOC:
status = sme_cfg_get_int(hdd_ctx->mac_handle,
WNI_CFG_ASSOC_STA_LIMIT,
(uint32_t *)value);
if (QDF_STATUS_SUCCESS != status) {
hdd_err("get WNI_CFG_ASSOC_STA_LIMIT failed status: %d",
status);
if (ucfg_mlme_set_assoc_sta_limit(hdd_ctx->hdd_psoc, *value) !=
QDF_STATUS_SUCCESS) {
hdd_err("CFG_ASSOC_STA_LIMIT failed");
ret = -EIO;
}
break;
case QCSAP_PARAM_GET_WLAN_DBG:

View File

@@ -5109,11 +5109,10 @@ static int drv_cmd_set_rmc_action_period(struct hdd_adapter *adapter,
hdd_debug("uActionPeriod %d", uActionPeriod);
mac_handle = hdd_ctx->mac_handle;
if (sme_cfg_set_int(mac_handle,
WNI_CFG_RMC_ACTION_PERIOD_FREQUENCY,
uActionPeriod)) {
hdd_err("Could not set SETRMCACTIONPERIOD %d",
uActionPeriod);
if (ucfg_mlme_set_rmc_action_period_freq(hdd_ctx->hdd_psoc,
uActionPeriod) !=
QDF_STATUS_SUCCESS) {
hdd_err("Could not set SETRMCACTIONPERIOD %d", uActionPeriod);
ret = -EINVAL;
goto exit;
}

View File

@@ -1219,6 +1219,7 @@ static void hdd_update_tgt_services(struct hdd_context *hdd_ctx,
bool tdls_off_channel;
bool tdls_buffer_sta;
uint32_t tdls_uapsd_mask;
bool value;
#endif
/* Set up UAPSD */
config->apUapsdEnabled &= cfg->uapsd;
@@ -1264,11 +1265,14 @@ static void hdd_update_tgt_services(struct hdd_context *hdd_ctx,
cfg_tdls_set_sleep_sta_enable(hdd_ctx->hdd_psoc, false);
#endif
hdd_update_roam_offload(hdd_ctx, cfg);
config->sap_get_peer_info &= cfg->get_peer_info_enabled;
if (ucfg_mlme_get_sap_get_peer_info(hdd_ctx->hdd_psoc, &value) ==
QDF_STATUS_SUCCESS)
value &= cfg->get_peer_info_enabled;
config->MAWCEnabled &= cfg->is_fw_mawc_capable;
hdd_update_tdls_config(hdd_ctx);
sme_update_tgt_services(hdd_ctx->mac_handle, cfg);
}
/**
@@ -2910,13 +2914,6 @@ int hdd_wlan_start_modules(struct hdd_context *hdd_ctx, bool reinit)
hdd_update_ipa_component_config(hdd_ctx);
ret = hdd_update_config(hdd_ctx);
if (ret) {
hdd_err("Failed to update configuration; errno: %d",
ret);
goto cds_free;
}
hdd_update_cds_ac_specs_params(hdd_ctx);
status = hdd_component_psoc_open(hdd_ctx->hdd_psoc);
@@ -2924,7 +2921,14 @@ int hdd_wlan_start_modules(struct hdd_context *hdd_ctx, bool reinit)
hdd_err("Failed to Open legacy components; status: %d",
status);
ret = qdf_status_to_os_return(status);
goto deinit_config;
goto cds_free;
}
ret = hdd_update_config(hdd_ctx);
if (ret) {
hdd_err("Failed to update configuration; errno: %d",
ret);
goto cds_free;
}
status = wbuff_module_init();
@@ -3035,8 +3039,6 @@ close:
hdd_psoc_close:
hdd_component_psoc_close(hdd_ctx->hdd_psoc);
deinit_config:
cds_deinit_ini_config();
cds_free:
@@ -5406,6 +5408,7 @@ QDF_STATUS hdd_reset_all_adapters(struct hdd_context *hdd_ctx)
struct hdd_station_ctx *sta_ctx;
struct qdf_mac_addr peerMacAddr;
int sta_id;
bool value;
hdd_enter();
@@ -5422,8 +5425,8 @@ QDF_STATUS hdd_reset_all_adapters(struct hdd_context *hdd_ctx)
hdd_notify_tdls_reset_adapter(adapter->vdev);
adapter->session.station.hdd_reassoc_scenario = false;
}
if (hdd_ctx->config->sap_internal_restart &&
ucfg_mlme_get_sap_internal_restart(hdd_ctx->hdd_psoc, &value);
if (value &&
adapter->device_mode == QDF_SAP_MODE) {
wlan_hdd_netif_queue_control(adapter,
WLAN_STOP_ALL_NETIF_QUEUE,
@@ -6172,6 +6175,7 @@ QDF_STATUS hdd_start_all_adapters(struct hdd_context *hdd_ctx)
{
struct hdd_adapter *adapter;
eConnectionState connState;
bool value;
hdd_enter();
@@ -6240,7 +6244,9 @@ QDF_STATUS hdd_start_all_adapters(struct hdd_context *hdd_ctx)
break;
case QDF_SAP_MODE:
if (hdd_ctx->config->sap_internal_restart)
ucfg_mlme_get_sap_internal_restart(hdd_ctx->hdd_psoc,
&value);
if (value)
hdd_start_ap_adapter(adapter);
break;
@@ -8423,6 +8429,7 @@ void hdd_unsafe_channel_restart_sap(struct hdd_context *hdd_ctxt)
uint32_t i;
bool found = false;
uint8_t restart_chan;
bool value;
hdd_for_each_adapter(hdd_ctxt, adapter) {
if (!(adapter->device_mode == QDF_SAP_MODE &&
@@ -8483,9 +8490,10 @@ void hdd_unsafe_channel_restart_sap(struct hdd_context *hdd_ctxt)
hdd_debug("sending coex indication");
wlan_hdd_send_svc_nlink_msg(hdd_ctxt->radio_index,
WLAN_SVC_LTE_COEX_IND, NULL, 0);
hdd_debug("driver to start sap: %d",
hdd_ctxt->config->sap_internal_restart);
if (hdd_ctxt->config->sap_internal_restart)
ucfg_mlme_get_sap_internal_restart(hdd_ctxt->hdd_psoc,
&value);
hdd_debug("driver to start sap: %d", value);
if (value)
hdd_switch_sap_channel(adapter, restart_chan,
true);
else
@@ -9441,6 +9449,7 @@ static inline void hdd_ra_populate_cds_config(struct cds_config_info *cds_cfg,
static int hdd_update_cds_config(struct hdd_context *hdd_ctx)
{
struct cds_config_info *cds_cfg;
int value;
cds_cfg = (struct cds_config_info *)qdf_mem_malloc(sizeof(*cds_cfg));
if (!cds_cfg) {
@@ -9485,10 +9494,13 @@ static int hdd_update_cds_config(struct hdd_context *hdd_ctx)
hdd_ctx->config->crash_inject_enabled;
cds_cfg->enable_mc_list = hdd_ctx->config->fEnableMCAddrList;
cds_cfg->ap_maxoffload_peers = hdd_ctx->config->apMaxOffloadPeers;
cds_cfg->ap_maxoffload_reorderbuffs =
hdd_ctx->config->apMaxOffloadReorderBuffs;
ucfg_mlme_get_sap_max_offload_peers(hdd_ctx->hdd_psoc,
&value);
cds_cfg->ap_maxoffload_peers = value;
ucfg_mlme_get_sap_max_offload_reorder_buffs(hdd_ctx->hdd_psoc,
&value);
cds_cfg->ap_maxoffload_reorderbuffs = value;
cds_cfg->ap_disable_intrabss_fwd =
hdd_ctx->config->apDisableIntraBssFwd;
@@ -9544,7 +9556,8 @@ static int hdd_update_cds_config(struct hdd_context *hdd_ctx)
cds_cfg->apf_packet_filter_enable =
hdd_ctx->config->apf_packet_filter_enable;
cds_cfg->self_gen_frm_pwr = hdd_ctx->config->self_gen_frm_pwr;
cds_cfg->max_station = hdd_ctx->config->maxNumberOfPeers;
ucfg_mlme_get_sap_max_peers(hdd_ctx->hdd_psoc, &value);
cds_cfg->max_station = value;
cds_cfg->sub_20_channel_width = WLAN_SUB_20_CH_WIDTH_NONE;
cds_cfg->flow_steering_enabled = hdd_ctx->config->flow_steering_enable;
cds_cfg->max_msdus_per_rxinorderind =
@@ -10686,6 +10699,7 @@ int hdd_configure_cds(struct hdd_context *hdd_ctx)
uint16_t num_11b_tx_chains = 0;
uint16_t num_11ag_tx_chains = 0;
struct policy_mgr_dp_cbacks dp_cbs = {0};
bool value;
mac_handle = hdd_ctx->mac_handle;
@@ -10711,8 +10725,9 @@ int hdd_configure_cds(struct hdd_context *hdd_ctx)
set_value, PDEV_CMD);
}
if (hdd_ctx->config->sap_get_peer_info) {
set_value = hdd_ctx->config->sap_get_peer_info;
ucfg_mlme_get_sap_get_peer_info(hdd_ctx->hdd_psoc, &value);
if (value) {
set_value = value;
sme_cli_set_command(0,
(int)WMI_PDEV_PARAM_PEER_STATS_INFO_ENABLE,
set_value, PDEV_CMD);

View File

@@ -1316,6 +1316,7 @@ QDF_STATUS hdd_wlan_re_init(void)
struct hdd_adapter *adapter;
int ret;
bool bug_on_reinit_failure = CFG_BUG_ON_REINIT_FAILURE_DEFAULT;
bool value;
hdd_prevent_suspend(WIFI_POWER_EVENT_WAKELOCK_DRIVER_REINIT);
@@ -1366,7 +1367,8 @@ QDF_STATUS hdd_wlan_re_init(void)
hdd_send_default_scan_ies(hdd_ctx);
hdd_info("WLAN host driver reinitiation completed!");
if (hdd_ctx->config->sap_internal_restart)
ucfg_mlme_get_sap_internal_restart(hdd_ctx->hdd_psoc, &value);
if (value)
hdd_ssr_restart_sap(hdd_ctx);
hdd_wlan_ssr_reinit_event();

View File

@@ -32,6 +32,7 @@
#include <wlan_hdd_stats.h>
#include <wlan_hdd_hostapd.h>
#include <wlan_hdd_station_info.h>
#include "wlan_mlme_ucfg_api.h"
/*
* define short names for the global vendor params
@@ -996,6 +997,8 @@ static int hdd_get_connected_station_info(struct hdd_context *hdd_ctx,
uint32_t nl_buf_len;
struct sir_peer_info_ext peer_info;
bool txrx_rate = true;
bool value;
QDF_STATUS status;
nl_buf_len = NLMSG_HDRLEN;
nl_buf_len += (sizeof(stainfo->max_phy_rate) + NLA_HDRLEN) +
@@ -1006,7 +1009,10 @@ static int hdd_get_connected_station_info(struct hdd_context *hdd_ctx,
(sizeof(stainfo->is_qos_enabled) + NLA_HDRLEN) +
(sizeof(stainfo->mode) + NLA_HDRLEN);
if (!hdd_ctx->config->sap_get_peer_info ||
status = ucfg_mlme_get_sap_get_peer_info(hdd_ctx->hdd_psoc, &value);
if (status != QDF_STATUS_SUCCESS)
hdd_err("Unable to fetch sap ger peer info");
if (!value ||
wlan_hdd_get_peer_info(adapter, mac_addr, &peer_info)) {
hdd_err("fail to get tx/rx rate");
txrx_rate = false;

View File

@@ -4178,13 +4178,9 @@ static int __iw_setint_getnone(struct net_device *dev,
if (!mac_handle)
return -EINVAL;
if ((WNI_CFG_ASSOC_STA_LIMIT_STAMIN > set_value) ||
(WNI_CFG_ASSOC_STA_LIMIT_STAMAX < set_value)) {
ret = -EINVAL;
} else if (sme_cfg_set_int(mac_handle, WNI_CFG_ASSOC_STA_LIMIT,
set_value)
if (ucfg_mlme_set_assoc_sta_limit(hdd_ctx->hdd_psoc, set_value)
!= QDF_STATUS_SUCCESS) {
hdd_err("WNI_CFG_ASSOC_STA_LIMIT failed");
hdd_err("CFG_ASSOC_STA_LIMIT failed");
ret = -EIO;
}
break;
@@ -5531,11 +5527,12 @@ static int __iw_setnone_getint(struct net_device *dev,
}
case WE_GET_MAX_ASSOC:
{
if (sme_cfg_get_int(mac_handle, WNI_CFG_ASSOC_STA_LIMIT,
(uint32_t *) value) != QDF_STATUS_SUCCESS) {
hdd_err("WNI_CFG_ASSOC_STA_LIMIT failed");
if (ucfg_mlme_set_assoc_sta_limit(hdd_ctx->hdd_psoc, *value) !=
QDF_STATUS_SUCCESS) {
hdd_err("CFG_ASSOC_STA_LIMIT failed");
ret = -EIO;
}
break;
}

View File

@@ -421,7 +421,6 @@ typedef struct sAniSirLim {
/* / Variable to keep track of number of currently associated STAs */
uint16_t gLimNumOfAniSTAs; /* count of ANI peers */
uint16_t gLimAssocStaLimit;
/* Heart-Beat interval value */
uint32_t gLimHeartBeatCount;

View File

@@ -115,7 +115,8 @@ uint16_t lim_assign_peer_idx(tpAniSirGlobal pMac, tpPESession pSessionEntry)
/* make sure we haven't exceeded the configurable limit on associations */
/* This count is global to ensure that it doesn't exceed the hardware limits. */
if (pe_get_current_stas_count(pMac) >= pMac->lim.gLimAssocStaLimit) {
if (pe_get_current_stas_count(pMac) >=
pMac->mlme_cfg->sap_cfg.assoc_sta_limit) {
/* too many associations already active */
return 0;
}

View File

@@ -207,7 +207,6 @@ static void __lim_init_vars(tpAniSirGlobal pMac)
static void __lim_init_assoc_vars(tpAniSirGlobal pMac)
{
pMac->lim.gLimAssocStaLimit = 0;
pMac->lim.gLimIbssStaLimit = 0;
/* Place holder for current authentication request */
/* being handled */
@@ -280,13 +279,7 @@ static QDF_STATUS __lim_init_config(tpAniSirGlobal pMac)
* and they will be used throughout when there is no session
*/
if (wlan_cfg_get_int(pMac, WNI_CFG_ASSOC_STA_LIMIT, &val1)
!= QDF_STATUS_SUCCESS){
pe_err("cfg get assoc sta limit failed");
return QDF_STATUS_E_FAILURE;
}
pMac->lim.gLimAssocStaLimit = val1;
val1 = pMac->mlme_cfg->sap_cfg.assoc_sta_limit;
pMac->lim.gLimIbssStaLimit = val1;
ht_cap_info = &pMac->mlme_cfg->ht_caps.ht_cap_info;

View File

@@ -2899,10 +2899,7 @@ lim_add_sta_self(tpAniSirGlobal pMac, uint16_t staIdx, uint8_t updateSta,
pAddStaParams->vhtLdpcCapable =
((psessionEntry->txLdpcIniFeatureEnabled >> 1) & 0x01);
if (wlan_cfg_get_int(pMac, WNI_CFG_LISTEN_INTERVAL, &listenInterval) !=
QDF_STATUS_SUCCESS)
pe_err("Couldn't get LISTEN_INTERVAL");
listenInterval = pMac->mlme_cfg->sap_cfg.listen_interval;
pAddStaParams->listenInterval = (uint16_t) listenInterval;
if (QDF_P2P_CLIENT_MODE == psessionEntry->pePersona) {
@@ -3798,9 +3795,8 @@ QDF_STATUS lim_sta_send_add_bss(tpAniSirGlobal pMac, tpSirAssocRsp pAssocRsp,
qdf_mem_copy(pAddBssParams->staContext.bssId,
bssDescription->bssId, sizeof(tSirMacAddr));
if (wlan_cfg_get_int(pMac, WNI_CFG_LISTEN_INTERVAL, &listen_interval) !=
QDF_STATUS_SUCCESS)
pe_err("Couldn't get LISTEN_INTERVAL");
listen_interval = pMac->mlme_cfg->sap_cfg.listen_interval;
pAddBssParams->staContext.listenInterval = listen_interval;
/* Fill Assoc id from the dph table */
@@ -4364,9 +4360,8 @@ QDF_STATUS lim_sta_send_add_bss_pre_assoc(tpAniSirGlobal pMac, uint8_t updateEnt
qdf_mem_copy(pAddBssParams->staContext.bssId,
bssDescription->bssId, sizeof(tSirMacAddr));
if (wlan_cfg_get_int(pMac, WNI_CFG_LISTEN_INTERVAL, &listen_interval) !=
QDF_STATUS_SUCCESS)
pe_err("Couldn't get LISTEN_INTERVAL");
listen_interval = pMac->mlme_cfg->sap_cfg.listen_interval;
pAddBssParams->staContext.listenInterval = listen_interval;
pAddBssParams->staContext.assocId = 0;
pAddBssParams->staContext.uAPSD = 0;

View File

@@ -736,12 +736,7 @@ static bool lim_chk_is_11b_sta_supported(tpAniSirGlobal mac_ctx,
uint32_t cfg_11g_only;
if (phy_mode == WNI_CFG_PHY_MODE_11G) {
if (wlan_cfg_get_int(mac_ctx, WNI_CFG_11G_ONLY_POLICY,
&cfg_11g_only) != QDF_STATUS_SUCCESS) {
pe_err("couldn't get 11g-only flag");
return false;
}
cfg_11g_only = mac_ctx->mlme_cfg->sap_cfg.sap_11g_policy;
if (!assoc_req->extendedRatesPresent && cfg_11g_only) {
/*
* Received Re/Association Request from 11b STA when 11g
@@ -1009,7 +1004,7 @@ static bool lim_process_assoc_req_no_sta_ctx(tpAniSirGlobal mac_ctx,
{
/* Requesting STA is not currently associated */
if (pe_get_current_stas_count(mac_ctx) ==
mac_ctx->lim.gLimAssocStaLimit) {
mac_ctx->mlme_cfg->sap_cfg.assoc_sta_limit) {
/*
* Maximum number of STAs that AP can handle reached.
* Send Association response to peer MAC entity

View File

@@ -234,14 +234,6 @@ void lim_handle_cf_gparam_update(tpAniSirGlobal pMac, uint32_t cfgId)
}
break;
case WNI_CFG_ASSOC_STA_LIMIT:
if (wlan_cfg_get_int(pMac, WNI_CFG_ASSOC_STA_LIMIT, &val1) !=
QDF_STATUS_SUCCESS) {
pe_err("Unable to get WNI_CFG_ASSOC_STA_LIMIT");
break;
}
pMac->lim.gLimAssocStaLimit = (uint16_t) val1;
break;
default:
break;
}
@@ -366,10 +358,5 @@ static void lim_update_config(tpAniSirGlobal pMac, tpPESession psessionEntry)
pe_err("cfg get 11d enabled failed");
psessionEntry->lim11dEnabled = (val) ? 1 : 0;
if (wlan_cfg_get_int(pMac, WNI_CFG_ASSOC_STA_LIMIT, &val) != QDF_STATUS_SUCCESS) {
pe_err("cfg get assoc sta limit failed");
}
pMac->lim.gLimAssocStaLimit = (uint16_t) val;
pe_debug("Updated Lim shadow state based on CFG");
}

View File

@@ -522,9 +522,7 @@ void lim_process_sta_mlm_add_bss_rsp_ft(tpAniSirGlobal pMac,
psessionEntry);
}
if (wlan_cfg_get_int(pMac, WNI_CFG_LISTEN_INTERVAL, &listenInterval) !=
QDF_STATUS_SUCCESS)
pe_err("Couldn't get LISTEN_INTERVAL");
listenInterval = pMac->mlme_cfg->sap_cfg.listen_interval;
pAddStaParams->listenInterval = (uint16_t) listenInterval;
wlan_cfg_get_int(pMac, WNI_CFG_DOT11_MODE, &selfStaDot11Mode);
@@ -660,38 +658,14 @@ void lim_process_mlm_ft_reassoc_req(tpAniSirGlobal pMac, uint32_t *pMsgBuf,
pMlmReassocReq->sessionId = psessionEntry->peSessionId;
/* If telescopic beaconing is enabled, set listen interval
to WNI_CFG_TELE_BCN_MAX_LI
to CFG_TELE_BCN_MAX_LI
*/
if (wlan_cfg_get_int(pMac, WNI_CFG_TELE_BCN_WAKEUP_EN, &teleBcnEn) !=
QDF_STATUS_SUCCESS) {
pe_err("Couldn't get WNI_CFG_TELE_BCN_WAKEUP_EN");
qdf_mem_free(pMlmReassocReq);
return;
}
teleBcnEn = pMac->mlme_cfg->sap_cfg.tele_bcn_wakeup_en;
if (teleBcnEn)
val = pMac->mlme_cfg->sap_cfg.tele_bcn_max_li;
else
val = pMac->mlme_cfg->sap_cfg.listen_interval;
if (teleBcnEn) {
if (wlan_cfg_get_int(pMac, WNI_CFG_TELE_BCN_MAX_LI, &val) !=
QDF_STATUS_SUCCESS) {
/**
* Could not get ListenInterval value
* from CFG. Log error.
*/
pe_err("could not retrieve ListenInterval");
qdf_mem_free(pMlmReassocReq);
return;
}
} else {
if (wlan_cfg_get_int(pMac, WNI_CFG_LISTEN_INTERVAL, &val) !=
QDF_STATUS_SUCCESS) {
/**
* Could not get ListenInterval value
* from CFG. Log error.
*/
pe_err("could not retrieve ListenInterval");
qdf_mem_free(pMlmReassocReq);
return;
}
}
if (lim_set_link_state
(pMac, eSIR_LINK_PREASSOC_STATE, psessionEntry->bssId,
psessionEntry->selfMacAddr, NULL, NULL) != QDF_STATUS_SUCCESS) {

View File

@@ -346,9 +346,7 @@ static void mlm_add_sta(tpAniSirGlobal mac_ctx, tpAddStaParams sta_param,
/* Configuration related parameters to be changed to support BT-AMP */
if (QDF_STATUS_SUCCESS != wlan_cfg_get_int(mac_ctx, WNI_CFG_LISTEN_INTERVAL,
&val))
pe_warn("Couldn't get LISTEN_INTERVAL");
val = mac_ctx->mlme_cfg->sap_cfg.listen_interval;
sta_param->listenInterval = (uint16_t) val;
if (QDF_STATUS_SUCCESS != wlan_cfg_get_int(mac_ctx, WNI_CFG_SHORT_PREAMBLE,

View File

@@ -401,22 +401,14 @@ static void lim_send_mlm_assoc_req(tpAniSirGlobal mac_ctx,
/*
* If telescopic beaconing is enabled, set listen interval to
* WNI_CFG_TELE_BCN_MAX_LI
* CFG_TELE_BCN_MAX_LI
*/
if (wlan_cfg_get_int(mac_ctx, WNI_CFG_TELE_BCN_WAKEUP_EN, &tele_bcn)
!= QDF_STATUS_SUCCESS)
pe_err("Couldn't get WNI_CFG_TELE_BCN_WAKEUP_EN");
tele_bcn = mac_ctx->mlme_cfg->sap_cfg.tele_bcn_wakeup_en;
if (tele_bcn)
val = mac_ctx->mlme_cfg->sap_cfg.tele_bcn_max_li;
else
val = mac_ctx->mlme_cfg->sap_cfg.listen_interval;
val = WNI_CFG_LISTEN_INTERVAL_STADEF;
if (tele_bcn) {
if (wlan_cfg_get_int(mac_ctx, WNI_CFG_TELE_BCN_MAX_LI, &val) !=
QDF_STATUS_SUCCESS)
pe_err("could not retrieve ListenInterval");
} else {
if (wlan_cfg_get_int(mac_ctx, WNI_CFG_LISTEN_INTERVAL,
&val) != QDF_STATUS_SUCCESS)
pe_err("could not retrieve ListenInterval");
}
#ifdef FEATURE_WLAN_DIAG_SUPPORT
lim_diag_event_report(mac_ctx, WLAN_PE_DIAG_ASSOC_REQ_EVENT,
session_entry, QDF_STATUS_SUCCESS, QDF_STATUS_SUCCESS);
@@ -2121,11 +2113,11 @@ static void lim_process_ap_mlm_add_bss_rsp(tpAniSirGlobal pMac,
|| (psessionEntry->gStartBssWPAIe.present))
pe_debug("WPA/WPA2 SAP configuration");
else {
if (pMac->lim.gLimAssocStaLimit >
if (pMac->mlme_cfg->sap_cfg.assoc_sta_limit >
MAX_SUPPORTED_PEERS_WEP) {
pe_debug("WEP SAP Configuration");
pMac->lim.gLimAssocStaLimit =
MAX_SUPPORTED_PEERS_WEP;
pMac->mlme_cfg->sap_cfg.assoc_sta_limit
= MAX_SUPPORTED_PEERS_WEP;
isWepEnabled = true;
}
}
@@ -2145,9 +2137,11 @@ static void lim_process_ap_mlm_add_bss_rsp(tpAniSirGlobal pMac,
/* In lim_apply_configuration gLimAssocStaLimit is assigned from cfg.
* So update the value to 16 in case SoftAP is configured in WEP.
*/
if ((pMac->lim.gLimAssocStaLimit > MAX_SUPPORTED_PEERS_WEP)
if ((pMac->mlme_cfg->sap_cfg.assoc_sta_limit >
MAX_SUPPORTED_PEERS_WEP)
&& (isWepEnabled))
pMac->lim.gLimAssocStaLimit = MAX_SUPPORTED_PEERS_WEP;
pMac->mlme_cfg->sap_cfg.assoc_sta_limit =
MAX_SUPPORTED_PEERS_WEP;
psessionEntry->staId = pAddBssParams->staContext.staIdx;
mlmStartCnf.resultCode = eSIR_SME_SUCCESS;
} else {

View File

@@ -983,9 +983,7 @@ __lim_handle_sme_start_bss_request(tpAniSirGlobal mac_ctx, uint32_t *msg_buf)
mlm_start_req->wps_state = session->wps_state;
} else {
if (wlan_cfg_get_int(mac_ctx,
WNI_CFG_DTIM_PERIOD, &val) != QDF_STATUS_SUCCESS)
pe_err("could not retrieve DTIM Period");
val = mac_ctx->mlme_cfg->sap_cfg.dtim_interval;
mlm_start_req->dtimPeriod = (uint8_t) val;
}
@@ -1961,23 +1959,15 @@ static void __lim_process_sme_reassoc_req(tpAniSirGlobal mac_ctx,
/*
* If telescopic beaconing is enabled, set listen interval to
* WNI_CFG_TELE_BCN_MAX_LI
* CFG_TELE_BCN_MAX_LI
*/
if (wlan_cfg_get_int(mac_ctx, WNI_CFG_TELE_BCN_WAKEUP_EN,
&tele_bcn_en) != QDF_STATUS_SUCCESS)
pe_err("Couldn't get WNI_CFG_TELE_BCN_WAKEUP_EN");
val = WNI_CFG_LISTEN_INTERVAL_STADEF;
tele_bcn_en = mac_ctx->mlme_cfg->sap_cfg.tele_bcn_wakeup_en;
if (tele_bcn_en) {
if (wlan_cfg_get_int(mac_ctx, WNI_CFG_TELE_BCN_MAX_LI, &val) !=
QDF_STATUS_SUCCESS)
pe_err("could not retrieve ListenInterval");
} else {
if (wlan_cfg_get_int(mac_ctx, WNI_CFG_LISTEN_INTERVAL, &val) !=
QDF_STATUS_SUCCESS)
pe_err("could not retrieve ListenInterval");
}
if (tele_bcn_en)
val = mac_ctx->mlme_cfg->sap_cfg.tele_bcn_max_li;
else
val = mac_ctx->mlme_cfg->sap_cfg.listen_interval;
mlm_reassoc_req->listenInterval = (uint16_t) val;

View File

@@ -600,13 +600,7 @@ lim_send_probe_rsp_mgmt_frame(tpAniSirGlobal mac_ctx,
frm->BeaconInterval.interval =
mac_ctx->sch.schObject.gSchBeaconInterval;
} else {
sir_status = wlan_cfg_get_int(mac_ctx,
WNI_CFG_BEACON_INTERVAL, &cfg);
if (QDF_STATUS_SUCCESS != sir_status) {
pe_err("Failed to get WNI_CFG_BEACON_INTERVAL (%d)",
sir_status);
goto err_ret;
}
cfg = mac_ctx->mlme_cfg->sap_cfg.beacon_interval;
frm->BeaconInterval.interval = (uint16_t) cfg;
}

View File

@@ -212,7 +212,7 @@ static void pe_reset_protection_callback(void *ptr)
qdf_mem_zero(&beacon_params, sizeof(tUpdateBeaconParams));
/* index 0, is self node, peers start from 1 */
for (i = 1 ; i <= mac_ctx->lim.gLimAssocStaLimit ; i++) {
for (i = 1 ; i <= mac_ctx->mlme_cfg->sap_cfg.assoc_sta_limit ; i++) {
station_hash_node = dph_get_hash_entry(mac_ctx, i,
&pe_session_entry->dph.dphHashTable);
if (NULL == station_hash_node)

View File

@@ -6649,7 +6649,8 @@ void lim_del_pmf_sa_query_timer(tpAniSirGlobal mac_ctx, tpPESession pe_session)
tpDphHashNode sta_ds = NULL;
for (associated_sta = 1;
associated_sta < mac_ctx->lim.gLimAssocStaLimit;
associated_sta <
mac_ctx->mlme_cfg->sap_cfg.assoc_sta_limit;
associated_sta++) {
sta_ds = dph_get_hash_entry(mac_ctx, associated_sta,
&pe_session->dph.dphHashTable);

View File

@@ -413,8 +413,11 @@ sch_bcn_process_sta(tpAniSirGlobal mac_ctx,
/* No need to send DTIM Period and Count to HAL/SMAC */
/* SMAC already parses TIM bit. */
if (bcn->timPresent)
cfg_set_int(mac_ctx, WNI_CFG_DTIM_PERIOD, bcn->tim.dtimPeriod);
if (bcn->timPresent) {
if (cfg_in_range(CFG_DTIM_PERIOD, bcn->tim.dtimPeriod))
mac_ctx->mlme_cfg->sap_cfg.dtim_interval =
bcn->tim.dtimPeriod;
}
if (mac_ctx->lim.gLimProtectionControl !=
WNI_CFG_FORCE_POLICY_PROTECTION_DISABLE)

View File

@@ -111,12 +111,6 @@ void sch_process_message(tpAniSirGlobal pMac, struct scheduler_msg *pSchMsg)
switch (pSchMsg->type) {
case SIR_CFG_PARAM_UPDATE_IND:
switch (pSchMsg->bodyval) {
case WNI_CFG_BEACON_INTERVAL:
/* What to do for IBSS ?? - TBD */
if (LIM_IS_AP_ROLE(psessionEntry))
sch_set_beacon_interval(pMac, psessionEntry);
break;
case WNI_CFG_COUNTRY_CODE:
pe_debug("sch: WNI_CFG_COUNTRY_CODE changed");
sch_edca_profile_update_all(pMac);

View File

@@ -3180,7 +3180,7 @@ static QDF_STATUS sap_get_channel_list(struct sap_context *sap_ctx,
FL("band_start_ch %d, band_end_ch %d"),
band_start_ch, band_end_ch);
sme_cfg_get_int(hal, WNI_CFG_ENABLE_LTE_COEX, &en_lte_coex);
en_lte_coex = mac_ctx->mlme_cfg->sap_cfg.enable_lte_coex;
/* Check if LTE coex is enabled and 2.4GHz is selected */
if (en_lte_coex && (band_start_ch == CHAN_ENUM_1) &&

View File

@@ -7179,10 +7179,7 @@ static void csr_roam_process_start_bss_success(tpAniSirGlobal mac_ctx,
ibss_log->operatingChannel =
bss_desc->channelId;
}
if (QDF_IS_STATUS_SUCCESS(wlan_cfg_get_int(
mac_ctx,
WNI_CFG_BEACON_INTERVAL,
&bi)))
bi = mac_ctx->mlme_cfg->sap_cfg.beacon_interval;
/* U8 is not enough for BI */
ibss_log->beaconInterval = (uint8_t) bi;
WLAN_HOST_DIAG_LOG_REPORT(ibss_log);
@@ -11993,9 +11990,7 @@ csr_roam_diag_joined_new_bss(tpAniSirGlobal mac_ctx,
pNewBss->ssId.length);
pIbssLog->operatingChannel = pNewBss->channelNumber;
}
if (QDF_IS_STATUS_SUCCESS(wlan_cfg_get_int(mac_ctx,
WNI_CFG_BEACON_INTERVAL,
&bi)))
bi = mac_ctx->mlme_cfg->sap_cfg.beacon_interval;
/* U8 is not enough for beacon interval */
pIbssLog->beaconInterval = (uint8_t) bi;
WLAN_HOST_DIAG_LOG_REPORT(pIbssLog);

View File

@@ -3601,12 +3601,7 @@ QDF_STATUS wma_process_rmc_action_period_ind(tp_wma_handle wma)
WMITLV_GET_STRUCT_TLVLEN
(wmi_rmc_set_action_period_cmd_fixed_param));
if (wlan_cfg_get_int(mac, WNI_CFG_RMC_ACTION_PERIOD_FREQUENCY,
&periodicity_msec) != QDF_STATUS_SUCCESS) {
WMA_LOGE("Failed to get value for RMC action period using default");
periodicity_msec = WNI_CFG_RMC_ACTION_PERIOD_FREQUENCY_STADEF;
}
periodicity_msec = mac->mlme_cfg->sap_cfg.rmc_action_period_freq;
p_rmc_cmd->vdev_id = vdev_id;
p_rmc_cmd->periodicity_msec = periodicity_msec;

View File

@@ -715,8 +715,7 @@ void wma_set_vdev_mgmt_rate(tp_wma_handle wma, uint8_t vdev_id)
return;
}
if (wlan_cfg_get_int(mac, WNI_CFG_RATE_FOR_TX_MGMT,
&cfg_val) == QDF_STATUS_SUCCESS) {
cfg_val = mac->mlme_cfg->sap_cfg.rate_tx_mgmt;
band = CDS_BAND_ALL;
if ((cfg_val == WNI_CFG_RATE_FOR_TX_MGMT_STADEF) ||
!wma_verify_rate_code(cfg_val, band)) {
@@ -732,12 +731,8 @@ void wma_set_vdev_mgmt_rate(tp_wma_handle wma, uint8_t vdev_id)
"Failed to set WMI_VDEV_PARAM_MGMT_TX_RATE"
);
}
} else {
WMA_LOGE("Failed to get value of WNI_CFG_RATE_FOR_TX_MGMT");
}
if (wlan_cfg_get_int(mac, WNI_CFG_RATE_FOR_TX_MGMT_2G,
&cfg_val) == QDF_STATUS_SUCCESS) {
cfg_val = mac->mlme_cfg->sap_cfg.rate_tx_mgmt_2g;
band = CDS_BAND_2GHZ;
if ((cfg_val == WNI_CFG_RATE_FOR_TX_MGMT_2G_STADEF) ||
!wma_verify_rate_code(cfg_val, band)) {
@@ -750,12 +745,8 @@ void wma_set_vdev_mgmt_rate(tp_wma_handle wma, uint8_t vdev_id)
per_band_mgmt_tx_rate |=
((cfg_val & 0x7FF) << TX_MGMT_RATE_2G_OFFSET);
}
} else {
WMA_LOGE("Failed to get value of WNI_CFG_RATE_FOR_TX_MGMT_2G");
}
if (wlan_cfg_get_int(mac, WNI_CFG_RATE_FOR_TX_MGMT_5G,
&cfg_val) == QDF_STATUS_SUCCESS) {
cfg_val = mac->mlme_cfg->sap_cfg.rate_tx_mgmt;
band = CDS_BAND_5GHZ;
if ((cfg_val == WNI_CFG_RATE_FOR_TX_MGMT_5G_STADEF) ||
!wma_verify_rate_code(cfg_val, band)) {
@@ -768,9 +759,6 @@ void wma_set_vdev_mgmt_rate(tp_wma_handle wma, uint8_t vdev_id)
per_band_mgmt_tx_rate |=
((cfg_val & 0x7FF) << TX_MGMT_RATE_5G_OFFSET);
}
} else {
WMA_LOGE("Failed to get value of WNI_CFG_RATE_FOR_TX_MGMT_5G");
}
ret = wma_vdev_set_param(
wma->wmi_handle,

View File

@@ -693,13 +693,7 @@ static QDF_STATUS wma_set_force_sleep(tp_wma_handle wma,
}
/* Set Listen Interval */
if (wlan_cfg_get_int(mac, WNI_CFG_LISTEN_INTERVAL,
&cfg_data_val) != QDF_STATUS_SUCCESS) {
QDF_TRACE(QDF_MODULE_ID_WMA, QDF_TRACE_LEVEL_ERROR,
"Failed to get value for WNI_CFG_LISTEN_INTERVAL");
cfg_data_val = POWERSAVE_DEFAULT_LISTEN_INTERVAL;
}
cfg_data_val = mac->mlme_cfg->sap_cfg.listen_interval;
ret = wma_vdev_set_param(wma->wmi_handle, vdev_id,
WMI_VDEV_PARAM_LISTEN_INTERVAL,
cfg_data_val);