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; +}