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 753ed9be6d
commit 1692545a0b
6 changed files with 684 additions and 73 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;
}