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, static void mlme_update_sap_cfg(struct wlan_objmgr_psoc *psoc,
struct wlan_mlme_cfg_sap *sap_cfg) 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->dtim_interval = cfg_default(CFG_DTIM_PERIOD);
sap_cfg->listen_interval = cfg_default(CFG_LISTEN_INTERVAL); sap_cfg->listen_interval = cfg_default(CFG_LISTEN_INTERVAL);
sap_cfg->sap_11g_policy = cfg_default(CFG_11G_ONLY_POLICY); sap_cfg->sap_11g_policy = cfg_default(CFG_11G_ONLY_POLICY);
sap_cfg->assoc_sta_limit = cfg_default(CFG_ASSOC_STA_LIMIT); 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 = sap_cfg->rmc_action_period_freq =
cfg_default(CFG_RMC_ACTION_PERIOD_FREQUENCY); 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 = cfg_get(psoc, CFG_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_2g = cfg_get(psoc, CFG_RATE_FOR_TX_MGMT_2G);
sap_cfg->rate_tx_mgmt_5g = cfg_get(psoc, CFG_INI_RATE_FOR_TX_MGMT_5G); 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_INI_TELE_BCN_WAKEUP_EN); sap_cfg->tele_bcn_wakeup_en = cfg_get(psoc, CFG_TELE_BCN_WAKEUP_EN);
sap_cfg->tele_bcn_max_li = cfg_get(psoc, CFG_INI_TELE_BCN_MAX_LI); sap_cfg->tele_bcn_max_li = cfg_get(psoc, CFG_TELE_BCN_MAX_LI);
sap_cfg->sap_get_peer_info = cfg_get(psoc, CFG_INI_SAP_GET_PEER_INFO); sap_cfg->sap_get_peer_info = cfg_get(psoc, CFG_SAP_GET_PEER_INFO);
sap_cfg->sap_allow_all_chan_param_name = sap_cfg->sap_allow_all_chan_param_name =
cfg_get(psoc, CFG_INI_SAP_ALLOW_ALL_CHANNEL_PARAM); cfg_get(psoc, CFG_SAP_ALLOW_ALL_CHANNEL_PARAM);
sap_cfg->sap_max_no_peers = cfg_get(psoc, CFG_INI_SAP_MAX_NO_PEERS); sap_cfg->sap_max_no_peers = cfg_get(psoc, CFG_SAP_MAX_NO_PEERS);
sap_cfg->sap_max_offload_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 = 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 = sap_cfg->sap_ch_switch_beacon_cnt =
cfg_get(psoc, CFG_INI_SAP_CH_SWITCH_BEACON_CNT); cfg_get(psoc, CFG_SAP_CH_SWITCH_BEACON_CNT);
sap_cfg->sap_ch_switch_mode = cfg_get(psoc, CFG_INI_SAP_CH_SWITCH_MODE); sap_cfg->sap_ch_switch_mode = cfg_get(psoc, CFG_SAP_CH_SWITCH_MODE);
sap_cfg->sap_internal_restart_name = sap_cfg->sap_internal_restart =
cfg_get(psoc, CFG_INI_SAP_INTERNAL_RESTART_NAME); cfg_get(psoc, CFG_SAP_INTERNAL_RESTART);
sap_cfg->chan_switch_hostapd_rate_enabled_name = 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 = 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, 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", \ "1,2,3,4,5,6,7,8,9,0", \
"CFG_SSID") "CFG_SSID")
#define CFG_BEACON_INTERVAL CFG_UINT( \ #define CFG_BEACON_INTERVAL CFG_INI_UINT( \
"cfg_beacon_interval", \ "gBeaconInterval", \
0, \ 0, \
65535, \ 65535, \
100, \ 100, \
@@ -87,10 +87,10 @@
* *
* </ini> * </ini>
*/ */
#define CFG_INI_ENABLE_LTE_COEX CFG_INI_BOOL( \ #define CFG_ENABLE_LTE_COEX CFG_INI_BOOL( \
"cfg_enable_lte_coex", \ "gEnableLTECoex", \
0, \ 0, \
"CFG_ENABLE_LTE_COEX") "enabled lte coex")
#define CFG_RMC_ACTION_PERIOD_FREQUENCY CFG_UINT( \ #define CFG_RMC_ACTION_PERIOD_FREQUENCY CFG_UINT( \
"cfg_rcm_action_period_frequency", \ "cfg_rcm_action_period_frequency", \
@@ -117,13 +117,13 @@
* *
* </ini> * </ini>
*/ */
#define CFG_INI_RATE_FOR_TX_MGMT CFG_INI_UINT( \ #define CFG_RATE_FOR_TX_MGMT CFG_INI_UINT( \
"cfg_rate_for_tx_mgmt", \ "gRateForTxMgmt", \
0, \ 0, \
0xFF, \ 0xFF, \
0xFF, \ 0xFF, \
CFG_VALUE_OR_DEFAULT, \ CFG_VALUE_OR_DEFAULT, \
"CFG_INI_RATE_FOR_TX_MGMT") "set rate for mgmt tx")
/* /*
* <ini> * <ini>
@@ -141,13 +141,13 @@
* *
* </ini> * </ini>
*/ */
#define CFG_INI_RATE_FOR_TX_MGMT_2G CFG_INI_UINT( \ #define CFG_RATE_FOR_TX_MGMT_2G CFG_INI_UINT( \
"cfg_rate_for_tx_mgmt_2g", \ "gRateForTxMgmt2G", \
0, \ 0, \
255, \ 255, \
255, \ 255, \
CFG_VALUE_OR_DEFAULT, \ CFG_VALUE_OR_DEFAULT, \
"CFG_INI_RATE_FOR_TX_MGMT_2G") "set rate for mgmt tx 2g")
/* /*
* <ini> * <ini>
@@ -166,13 +166,13 @@
* *
* </ini> * </ini>
*/ */
#define CFG_INI_RATE_FOR_TX_MGMT_5G CFG_INI_UINT( \ #define CFG_RATE_FOR_TX_MGMT_5G CFG_INI_UINT( \
"cfg_rate_for_tx_mgmt_5g", \ "gRateForTxMgmt5G", \
0, \ 0, \
255, \ 255, \
255, \ 255, \
CFG_VALUE_OR_DEFAULT, \ CFG_VALUE_OR_DEFAULT, \
"CFG_INI_RATE_FOR_TX_MGMT_5G") "set rate for mgmt tx 5g")
/* /*
* <ini> * <ini>
@@ -191,10 +191,10 @@
* *
* </ini> * </ini>
*/ */
#define CFG_INI_TELE_BCN_WAKEUP_EN CFG_INI_BOOL( \ #define CFG_TELE_BCN_WAKEUP_EN CFG_INI_BOOL( \
"gTelescopicBeaconWakeupEn", \ "gTelescopicBeaconWakeupEn", \
0, \ 0, \
"CFG_TELE_BCN_WAKEUP_EN") "set tescopic beacon wakeup")
/* /*
* <ini> * <ini>
@@ -213,13 +213,13 @@
* *
* </ini> * </ini>
*/ */
#define CFG_INI_TELE_BCN_MAX_LI CFG_INI_UINT( \ #define CFG_TELE_BCN_MAX_LI CFG_INI_UINT( \
"telescopicBeaconMaxListenInterval", \ "telescopicBeaconMaxListenInterval", \
0, \ 0, \
7, \ 7, \
5, \ 5, \
CFG_VALUE_OR_DEFAULT, \ CFG_VALUE_OR_DEFAULT, \
"CFG_TELE_BCN_MAX_LI") "set telescopic beacon max listen")
/* /*
* <ini> * <ini>
@@ -234,10 +234,10 @@
* *
* </ini> * </ini>
*/ */
#define CFG_INI_SAP_GET_PEER_INFO CFG_INI_BOOL( \ #define CFG_SAP_GET_PEER_INFO CFG_INI_BOOL( \
"gSapGetPeerInfo", \ "gSapGetPeerInfo", \
0, \ 0, \
"CFG_INI_SAP_GET_PEER_INFO") "sap get peer info")
/* /*
* <ini> * <ini>
@@ -256,10 +256,10 @@
* *
* </ini> * </ini>
*/ */
#define CFG_INI_SAP_ALLOW_ALL_CHANNEL_PARAM CFG_INI_BOOL( \ #define CFG_SAP_ALLOW_ALL_CHANNEL_PARAM CFG_INI_BOOL( \
"gSapAllowAllChannel", \ "gSapAllowAllChannel", \
0, \ 0, \
"CFG_INI_SAP_ALLOW_ALL_CHANNEL_PARAM") "sap allow all channel params")
/* /*
* <ini> * <ini>
@@ -278,13 +278,13 @@
* *
* </ini> * </ini>
*/ */
#define CFG_INI_SAP_MAX_NO_PEERS CFG_INI_UINT( \ #define CFG_SAP_MAX_NO_PEERS CFG_INI_UINT( \
"gSoftApMaxPeers", \ "gSoftApMaxPeers", \
1, \ 1, \
32, \ 32, \
32, \ 32, \
CFG_VALUE_OR_DEFAULT, \ CFG_VALUE_OR_DEFAULT, \
"CFG_INI_SAP_MAX_NO_PEERS") "max no of peers")
/* /*
* <ini> * <ini>
@@ -303,13 +303,13 @@
* *
* </ini> * </ini>
*/ */
#define CFG_INI_SAP_MAX_OFFLOAD_PEERS CFG_INI_UINT( \ #define CFG_SAP_MAX_OFFLOAD_PEERS CFG_INI_UINT( \
"gMaxOffloadPeers", \ "gMaxOffloadPeers", \
2, \ 2, \
5, \ 5, \
2, \ 2, \
CFG_VALUE_OR_DEFAULT, \ CFG_VALUE_OR_DEFAULT, \
"CFG_INI_SAP_MAX_OFFLOAD_PEERS") "max offload peers")
/* /*
* <ini> * <ini>
@@ -328,13 +328,13 @@
* *
* </ini> * </ini>
*/ */
#define CFG_INI_SAP_MAX_OFFLOAD_REORDER_BUFFS CFG_INI_UINT( \ #define CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS CFG_INI_UINT( \
"gMaxOffloadReorderBuffs", \ "gMaxOffloadReorderBuffs", \
0, \ 0, \
3, \ 3, \
2, \ 2, \
CFG_VALUE_OR_DEFAULT, \ CFG_VALUE_OR_DEFAULT, \
"CFG_INI_SAP_MAX_OFFLOAD_REORDER_BUFFS") "sap max offload reorder buffs")
/* /*
* <ini> * <ini>
@@ -353,13 +353,13 @@
* *
* </ini> * </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", \ "g_sap_chanswitch_beacon_cnt", \
1, \ 1, \
10, \ 10, \
10, \ 10, \
CFG_VALUE_OR_DEFAULT, \ CFG_VALUE_OR_DEFAULT, \
"CFG_INI_SAP_CH_SWITCH_BEACON_CNT") "set channel switch beacon count")
/* /*
* <ini> * <ini>
@@ -376,10 +376,10 @@
* *
* </ini> * </ini>
*/ */
#define CFG_INI_SAP_CH_SWITCH_MODE CFG_INI_BOOL( \ #define CFG_SAP_CH_SWITCH_MODE CFG_INI_BOOL( \
"g_sap_chanswitch_mode", \ "g_sap_chanswitch_mode", \
1, \ 1, \
"CFG_INI_SAP_CH_SWITCH_MODE") "sap channel switch mode")
/* /*
* <ini> * <ini>
@@ -398,10 +398,10 @@
* *
* </ini> * </ini>
*/ */
#define CFG_INI_SAP_INTERNAL_RESTART_NAME CFG_INI_BOOL( \ #define CFG_SAP_INTERNAL_RESTART CFG_INI_BOOL( \
"gEnableSapInternalRestart", \ "gEnableSapInternalRestart", \
1, \ 1, \
"CFG_SAP_INTERNAL_RESTART_NAME") "sap internal restart")
/* /*
* <ini> * <ini>
@@ -420,10 +420,10 @@
* *
* </ini> * </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", \ "gChanSwitchHostapdRateEnabled", \
0, \ 0, \
"CFG_INI_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_NAME") "chan switch hostapd rate enabled")
/* /*
* gReducedBeaconInterval - beacon interval reduced * gReducedBeaconInterval - beacon interval reduced
@@ -444,13 +444,13 @@
* *
* </ini> * </ini>
*/ */
#define CFG_INI_REDUCED_BEACON_INTERVAL CFG_INI_UINT( \ #define CFG_REDUCED_BEACON_INTERVAL CFG_INI_UINT( \
"gReducedBeaconInterval", \ "gReducedBeaconInterval", \
0, \ 0, \
100, \ 100, \
0, \ 0, \
CFG_VALUE_OR_DEFAULT, \ CFG_VALUE_OR_DEFAULT, \
"CFG_INI_REDUCED_BEACON_INTERVAL") "reduced beacon interval")
#define CFG_SAP_ALL \ #define CFG_SAP_ALL \
CFG(CFG_SSID) \ CFG(CFG_SSID) \
@@ -459,22 +459,22 @@
CFG(CFG_LISTEN_INTERVAL) \ CFG(CFG_LISTEN_INTERVAL) \
CFG(CFG_11G_ONLY_POLICY) \ CFG(CFG_11G_ONLY_POLICY) \
CFG(CFG_ASSOC_STA_LIMIT) \ CFG(CFG_ASSOC_STA_LIMIT) \
CFG(CFG_INI_ENABLE_LTE_COEX) \ CFG(CFG_ENABLE_LTE_COEX) \
CFG(CFG_RMC_ACTION_PERIOD_FREQUENCY) \ CFG(CFG_RMC_ACTION_PERIOD_FREQUENCY) \
CFG(CFG_INI_RATE_FOR_TX_MGMT) \ CFG(CFG_RATE_FOR_TX_MGMT) \
CFG(CFG_INI_RATE_FOR_TX_MGMT_2G) \ CFG(CFG_RATE_FOR_TX_MGMT_2G) \
CFG(CFG_INI_RATE_FOR_TX_MGMT_5G) \ CFG(CFG_RATE_FOR_TX_MGMT_5G) \
CFG(CFG_INI_TELE_BCN_WAKEUP_EN) \ CFG(CFG_TELE_BCN_WAKEUP_EN) \
CFG(CFG_INI_TELE_BCN_MAX_LI) \ CFG(CFG_TELE_BCN_MAX_LI) \
CFG(CFG_INI_SAP_GET_PEER_INFO) \ CFG(CFG_SAP_GET_PEER_INFO) \
CFG(CFG_INI_SAP_ALLOW_ALL_CHANNEL_PARAM) \ CFG(CFG_SAP_ALLOW_ALL_CHANNEL_PARAM) \
CFG(CFG_INI_SAP_MAX_NO_PEERS) \ CFG(CFG_SAP_MAX_NO_PEERS) \
CFG(CFG_INI_SAP_MAX_OFFLOAD_PEERS) \ CFG(CFG_SAP_MAX_OFFLOAD_PEERS) \
CFG(CFG_INI_SAP_MAX_OFFLOAD_REORDER_BUFFS) \ CFG(CFG_SAP_MAX_OFFLOAD_REORDER_BUFFS) \
CFG(CFG_INI_SAP_CH_SWITCH_BEACON_CNT) \ CFG(CFG_SAP_CH_SWITCH_BEACON_CNT) \
CFG(CFG_INI_SAP_CH_SWITCH_MODE) \ CFG(CFG_SAP_CH_SWITCH_MODE) \
CFG(CFG_INI_SAP_INTERNAL_RESTART_NAME) \ CFG(CFG_SAP_INTERNAL_RESTART) \
CFG(CFG_INI_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_NAME) \ CFG(CFG_CHAN_SWITCH_HOSTAPD_RATE_ENABLED_NAME) \
CFG(CFG_INI_REDUCED_BEACON_INTERVAL) CFG(CFG_REDUCED_BEACON_INTERVAL)
#endif /* __CFG_MLME_SAP_H */ #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, QDF_STATUS wlan_mlme_configure_chain_mask(struct wlan_objmgr_psoc *psoc,
uint8_t session_id); 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_ */ #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_peers;
uint8_t sap_max_offload_reorder_buffs; uint8_t sap_max_offload_reorder_buffs;
uint8_t sap_ch_switch_beacon_cnt; uint8_t sap_ch_switch_beacon_cnt;
bool sap_internal_restart;
bool sap_ch_switch_mode; bool sap_ch_switch_mode;
bool sap_internal_restart_name;
bool chan_switch_hostapd_rate_enabled_name; bool chan_switch_hostapd_rate_enabled_name;
uint8_t reduced_beacon_interval; uint8_t reduced_beacon_interval;
}; };

View File

@@ -366,4 +366,231 @@ ucfg_mlme_set_roaming_offload(struct wlan_objmgr_psoc *psoc,
QDF_STATUS QDF_STATUS
ucfg_mlme_get_first_scan_bucket_threshold(struct wlan_objmgr_psoc *psoc, ucfg_mlme_get_first_scan_bucket_threshold(struct wlan_objmgr_psoc *psoc,
uint8_t *val); 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_ */ #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; 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;
}