diff --git a/mlme/core/src/wlan_mlme_main.c b/mlme/core/src/wlan_mlme_main.c
index fab5ba4673..e77327e4b4 100644
--- a/mlme/core/src/wlan_mlme_main.c
+++ b/mlme/core/src/wlan_mlme_main.c
@@ -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,
diff --git a/mlme/dispatcher/inc/cfg_mlme_sap.h b/mlme/dispatcher/inc/cfg_mlme_sap.h
index 888c51f6e6..ca41356a3f 100644
--- a/mlme/dispatcher/inc/cfg_mlme_sap.h
+++ b/mlme/dispatcher/inc/cfg_mlme_sap.h
@@ -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 @@
*
*
*/
- #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 @@
*
*
*/
- #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")
/*
*
@@ -141,13 +141,13 @@
*
*
*/
- #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")
/*
*
@@ -166,13 +166,13 @@
*
*
*/
- #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")
/*
*
@@ -191,10 +191,10 @@
*
*
*/
-#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")
/*
*
@@ -213,13 +213,13 @@
*
*
*/
- #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")
/*
*
@@ -234,10 +234,10 @@
*
*
*/
- #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")
/*
*
@@ -256,10 +256,10 @@
*
*
*/
- #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")
/*
*
@@ -278,13 +278,13 @@
*
*
*/
- #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")
/*
*
@@ -303,13 +303,13 @@
*
*
*/
- #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")
/*
*
@@ -328,13 +328,13 @@
*
*
*/
- #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")
/*
*
@@ -353,13 +353,13 @@
*
*
*/
- #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")
/*
*
@@ -376,10 +376,10 @@
*
*
*/
-#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")
/*
*
@@ -398,10 +398,10 @@
*
*
*/
- #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")
/*
*
@@ -420,10 +420,10 @@
*
*
*/
- #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 @@
*
*
*/
-#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 */
diff --git a/mlme/dispatcher/inc/wlan_mlme_api.h b/mlme/dispatcher/inc/wlan_mlme_api.h
index 85f531fd15..8489022739 100644
--- a/mlme/dispatcher/inc/wlan_mlme_api.h
+++ b/mlme/dispatcher/inc/wlan_mlme_api.h
@@ -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_ */
diff --git a/mlme/dispatcher/inc/wlan_mlme_public_struct.h b/mlme/dispatcher/inc/wlan_mlme_public_struct.h
index e6db47642c..bcd1a15125 100644
--- a/mlme/dispatcher/inc/wlan_mlme_public_struct.h
+++ b/mlme/dispatcher/inc/wlan_mlme_public_struct.h
@@ -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;
};
diff --git a/mlme/dispatcher/inc/wlan_mlme_ucfg_api.h b/mlme/dispatcher/inc/wlan_mlme_ucfg_api.h
index ad039e3aa1..1c44081917 100644
--- a/mlme/dispatcher/inc/wlan_mlme_ucfg_api.h
+++ b/mlme/dispatcher/inc/wlan_mlme_ucfg_api.h
@@ -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_ */
diff --git a/mlme/dispatcher/src/wlan_mlme_api.c b/mlme/dispatcher/src/wlan_mlme_api.c
index 27d5798f67..d3faac6442 100644
--- a/mlme/dispatcher/src/wlan_mlme_api.c
+++ b/mlme/dispatcher/src/wlan_mlme_api.c
@@ -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;
+}