qcacld-3.0: Refine mlme sta configurations
Define mlme sta configures based on converged cfg component, add APIs to get and set mlme sta configurations. Change-Id: I1a03037081ebe27760d23405adc3cc9042ba7698 CRs-Fixed: 2312002
Esse commit está contido em:
@@ -244,6 +244,41 @@ static void mlme_init_obss_ht40_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
cfg_default(CFG_OBSS_HT40_SCAN_ACTIVITY_THRESHOLD);
|
||||
}
|
||||
|
||||
static void mlme_init_sta_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
struct wlan_mlme_sta_cfg *sta)
|
||||
{
|
||||
sta->sta_keep_alive_period =
|
||||
cfg_get(psoc, CFG_INFRA_STA_KEEP_ALIVE_PERIOD);
|
||||
sta->tgt_gtx_usr_cfg =
|
||||
cfg_get(psoc, CFG_TGT_GTX_USR_CFG);
|
||||
sta->pmkid_modes =
|
||||
cfg_get(psoc, CFG_PMKID_MODES);
|
||||
sta->ignore_peer_erp_info =
|
||||
cfg_get(psoc, CFG_IGNORE_PEER_ERP_INFO);
|
||||
sta->sta_prefer_80mhz_over_160mhz =
|
||||
cfg_get(psoc, CFG_STA_PREFER_80MHZ_OVER_160MHZ);
|
||||
sta->enable_5g_ebt =
|
||||
cfg_get(psoc, CFG_PPS_ENABLE_5G_EBT);
|
||||
sta->deauth_before_connection =
|
||||
cfg_get(psoc, CFG_ENABLE_DEAUTH_BEFORE_CONNECTION);
|
||||
sta->dot11p_mode =
|
||||
cfg_get(psoc, CFG_DOT11P_MODE);
|
||||
sta->enable_go_cts2self_for_sta =
|
||||
cfg_get(psoc, CFG_ENABLE_GO_CTS2SELF_FOR_STA);
|
||||
sta->qcn_ie_support =
|
||||
cfg_get(psoc, CFG_QCN_IE_SUPPORT);
|
||||
sta->fils_max_chan_guard_time =
|
||||
cfg_get(psoc, CFG_FILS_MAX_CHAN_GUARD_TIME);
|
||||
sta->force_rsne_override =
|
||||
cfg_get(psoc, CFG_FORCE_RSNE_OVERRIDE);
|
||||
sta->single_tid =
|
||||
cfg_get(psoc, CFG_SINGLE_TID_RC);
|
||||
sta->wait_cnf_timeout =
|
||||
(uint32_t)cfg_default(CFG_WT_CNF_TIMEOUT);
|
||||
sta->current_rssi =
|
||||
(uint32_t)cfg_default(CFG_CURRENT_RSSI);
|
||||
}
|
||||
|
||||
QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
@@ -264,6 +299,7 @@ QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
|
||||
mlme_init_chainmask_cfg(psoc, &mlme_cfg->chainmask_cfg);
|
||||
mlme_update_sap_cfg(psoc, &mlme_cfg->sap_cfg);
|
||||
mlme_init_obss_ht40_cfg(psoc, &mlme_cfg->obss_ht40);
|
||||
mlme_init_sta_cfg(psoc, &mlme_cfg->sta);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
@@ -29,6 +29,7 @@
|
||||
#include "cfg_mlme_vht_caps.h"
|
||||
#include "cfg_qos.h"
|
||||
#include "cfg_mlme_rates.h"
|
||||
#include "cfg_mlme_sta.h"
|
||||
#include "cfg_sap_protection.h"
|
||||
#include "cfg_mlme_sap.h"
|
||||
|
||||
@@ -40,6 +41,7 @@
|
||||
CFG_QOS_ALL \
|
||||
CFG_RATES_ALL \
|
||||
CFG_SAP_PROTECTION_ALL \
|
||||
CFG_SAP_ALL
|
||||
CFG_SAP_ALL \
|
||||
CFG_STA_ALL
|
||||
|
||||
#endif /* __CFG_MLME_H */
|
||||
|
395
mlme/dispatcher/inc/cfg_mlme_sta.h
Arquivo normal
395
mlme/dispatcher/inc/cfg_mlme_sta.h
Arquivo normal
@@ -0,0 +1,395 @@
|
||||
/*
|
||||
* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/**
|
||||
* DOC: This file contains configuration definitions for MLME STA.
|
||||
*/
|
||||
|
||||
#ifndef CFG_MLME_STA_H__
|
||||
#define CFG_MLME_STA_H__
|
||||
|
||||
#include "wlan_mlme_public_struct.h"
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gStaKeepAlivePeriod - Sends NULL frame to AP periodically in
|
||||
* seconds to notify STA's existence
|
||||
* @Min: 0
|
||||
* @Max: 1000
|
||||
* @Default: 60
|
||||
*
|
||||
* This ini is used to send default NULL frame to AP
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: STA
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_INFRA_STA_KEEP_ALIVE_PERIOD CFG_INI_UINT( \
|
||||
"gStaKeepAlivePeriod", \
|
||||
0, \
|
||||
1000, \
|
||||
60, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"send default NULL frame to AP")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* tgt_gtx_usr_cfg - target gtx user config
|
||||
* @Min: 0
|
||||
* @Max: 32
|
||||
* @Default: 32
|
||||
*
|
||||
* This ini is used to set target gtx user config.
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_TGT_GTX_USR_CFG CFG_INI_UINT( \
|
||||
"tgt_gtx_usr_cfg", \
|
||||
0, \
|
||||
32, \
|
||||
32, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"target gtx user config")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* pmkidModes - Enable PMKID modes
|
||||
* This INI is used to enable PMKID feature options
|
||||
* @Min: 0
|
||||
* @Max: 3
|
||||
* @Default: 3
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: Scan
|
||||
*
|
||||
* Usage: External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_PMKID_MODES CFG_INI_UINT( \
|
||||
"pmkidModes", \
|
||||
0, \
|
||||
3, \
|
||||
3, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"PMKID feature options")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gIgnorePeerErpInfo - Ignore peer information
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 0
|
||||
*
|
||||
* This ini is used to ignore default peer info
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: STA
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_IGNORE_PEER_ERP_INFO CFG_INI_BOOL( \
|
||||
"gIgnorePeerErpInfo", \
|
||||
0, \
|
||||
"ignore default peer info")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gStaPrefer80MHzOver160MHz - set sta preference to connect in 80HZ/160HZ
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 1
|
||||
*
|
||||
* This ini is used to set sta preference to connect in 80HZ/160HZ
|
||||
*
|
||||
* 0 - Connects in 160MHz 1x1 when AP is 160MHz 2x2
|
||||
* 1 - Connects in 80MHz 2x2 when AP is 160MHz 2x2
|
||||
*
|
||||
* Related: NA
|
||||
*
|
||||
* Supported Feature: 11AC
|
||||
*
|
||||
* Usage: External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_STA_PREFER_80MHZ_OVER_160MHZ CFG_INI_BOOL( \
|
||||
"gStaPrefer80MHzOver160MHz", \
|
||||
1, \
|
||||
"Sta preference to connect in 80HZ/160HZ")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gEnable5gEBT - Enables/disables 5G early beacon termination. When enabled
|
||||
* terminate the reception of beacon if the TIM element is
|
||||
* clear for the power saving
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 1
|
||||
*
|
||||
* This ini is used to set default 5G early beacon termination
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: STA
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_PPS_ENABLE_5G_EBT CFG_INI_BOOL( \
|
||||
"gEnable5gEBT", \
|
||||
1, \
|
||||
"5G early beacon termination")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gSendDeauthBeforeCon - Send deauth before connection or not
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 0
|
||||
*
|
||||
* This ini is used to set whether send deauth before connection or
|
||||
* not. If last disconnection was due to HB failure and we reconnect
|
||||
* to same AP next time, send deauth before starting connection.
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: STA
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_ENABLE_DEAUTH_BEFORE_CONNECTION CFG_INI_BOOL( \
|
||||
"gSendDeauthBeforeCon", \
|
||||
0, \
|
||||
"send deauth before connection")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* CFG_DOT11P_MODE - 802.11p mode
|
||||
* @Min: CFG_11P_DISABLED
|
||||
* @Max: CFG_11P_CONCURRENT
|
||||
* @Default: CFG_11P_DISABLED
|
||||
*
|
||||
* This ini used to set 802.11p mode.
|
||||
*
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_DOT11P_MODE CFG_INI_UINT( \
|
||||
"gDot11PMode", \
|
||||
CFG_11P_DISABLED, \
|
||||
CFG_11P_CONCURRENT, \
|
||||
CFG_11P_DISABLED, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"802.11p mode")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gEnable_go_cts2self_for_sta - Indicate firmware to stop NOA and
|
||||
* start using cts2self
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 0
|
||||
*
|
||||
* When gEnable_go_cts2self_for_sta is enabled then if a legacy
|
||||
* client connects to P2P GO, Host will send a WMI VDEV command
|
||||
* to FW to stop using NOA for P2P GO
|
||||
* and start using CTS2SELF.
|
||||
*
|
||||
*
|
||||
* Supported Feature: P2P
|
||||
*
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_ENABLE_GO_CTS2SELF_FOR_STA CFG_INI_BOOL( \
|
||||
"gEnable_go_cts2self_for_sta", \
|
||||
0, \
|
||||
"firmware to stop NOA and start using cts2self")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* g_qcn_ie_support - QCN IE support
|
||||
* @Min: 0 (disabled)
|
||||
* @Max: 1 (enabled)
|
||||
* @Default: 1 (enabled)
|
||||
*
|
||||
* This config item is used to support QCN IE in probe/assoc/reassoc request
|
||||
* for STA mode. QCN IE support is not added for SAP mode.
|
||||
*
|
||||
* Related: N/A
|
||||
*
|
||||
* Supported Feature: N/A
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_QCN_IE_SUPPORT CFG_INI_BOOL( \
|
||||
"g_qcn_ie_support", \
|
||||
1, \
|
||||
"QCN IE support")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* g_fils_max_chan_guard_time - Set maximum channel guard time(ms)
|
||||
* @Min: 0
|
||||
* @Max: 10
|
||||
* @Default: 0
|
||||
*
|
||||
* This ini is used to set maximum channel guard time in milliseconds.
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: FILS
|
||||
*
|
||||
* Usage: External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_FILS_MAX_CHAN_GUARD_TIME CFG_INI_UINT( \
|
||||
"g_fils_max_chan_guard_time", \
|
||||
0, \
|
||||
10, \
|
||||
0, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Set maximum channel guard time")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* force_rsne_override - force rsnie override from user
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 0
|
||||
*
|
||||
* This ini is used to enable/disable test mode to force rsne override used in
|
||||
* security enhancement test cases to pass the RSNIE sent by user in
|
||||
* assoc request.
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: STA
|
||||
*
|
||||
* Usage: internal
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_FORCE_RSNE_OVERRIDE CFG_INI_BOOL( \
|
||||
"force_rsne_override", \
|
||||
0, \
|
||||
"Set obss active dwelltime")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* SingleTIDRC - Set replay counter for all TID's
|
||||
* @Min: 0 Separate replay counter for all TID
|
||||
* @Max: 1 Single replay counter for all TID
|
||||
* @Default: 1
|
||||
*
|
||||
* This ini is used to set replay counter for all TID's
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: WMM
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_SINGLE_TID_RC CFG_INI_BOOL( \
|
||||
"SingleTIDRC", \
|
||||
1, \
|
||||
"replay counter for all TID")
|
||||
|
||||
/*
|
||||
* wait_cnf_timeout - Wait assoc cnf timeout
|
||||
* @Min: 10
|
||||
* @Max: 3000
|
||||
* @Default: 1000
|
||||
*
|
||||
* This is internal configure for waiting assoc cnf timeout
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Usage: Internal
|
||||
*
|
||||
*/
|
||||
#define CFG_WT_CNF_TIMEOUT CFG_UINT( \
|
||||
"wait_cnf_timeout", \
|
||||
10, \
|
||||
3000, \
|
||||
1000, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Wait confirm timeout")
|
||||
|
||||
/*
|
||||
* current_rssi - current rssi
|
||||
* @Min: 0
|
||||
* @Max: 127
|
||||
* @Default: 0
|
||||
*
|
||||
* This is internal configure for current rssi
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Usage: Internal
|
||||
*
|
||||
*/
|
||||
#define CFG_CURRENT_RSSI CFG_UINT( \
|
||||
"current_rssi", \
|
||||
0, \
|
||||
127, \
|
||||
0, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Current RSSI")
|
||||
|
||||
#define CFG_STA_ALL \
|
||||
CFG(CFG_INFRA_STA_KEEP_ALIVE_PERIOD) \
|
||||
CFG(CFG_TGT_GTX_USR_CFG) \
|
||||
CFG(CFG_PMKID_MODES) \
|
||||
CFG(CFG_IGNORE_PEER_ERP_INFO) \
|
||||
CFG(CFG_STA_PREFER_80MHZ_OVER_160MHZ) \
|
||||
CFG(CFG_PPS_ENABLE_5G_EBT) \
|
||||
CFG(CFG_ENABLE_DEAUTH_BEFORE_CONNECTION) \
|
||||
CFG(CFG_DOT11P_MODE) \
|
||||
CFG(CFG_ENABLE_GO_CTS2SELF_FOR_STA) \
|
||||
CFG(CFG_QCN_IE_SUPPORT) \
|
||||
CFG(CFG_FILS_MAX_CHAN_GUARD_TIME) \
|
||||
CFG(CFG_FORCE_RSNE_OVERRIDE) \
|
||||
CFG(CFG_SINGLE_TID_RC) \
|
||||
CFG(CFG_WT_CNF_TIMEOUT) \
|
||||
CFG(CFG_CURRENT_RSSI)
|
||||
|
||||
#endif /* CFG_MLME_STA_H__ */
|
@@ -25,6 +25,9 @@
|
||||
|
||||
#include <wlan_cmn.h>
|
||||
|
||||
#define CFG_PMKID_MODES_OKC (0x1)
|
||||
#define CFG_PMKID_MODES_PMKSA_CACHING (0x2)
|
||||
|
||||
/**
|
||||
* struct mlme_ht_capabilities_info - HT Capabilities Info
|
||||
* @l_sig_tx_op_protection: L-SIG TXOP Protection Mechanism support
|
||||
@@ -228,6 +231,54 @@ struct wlan_mlme_obss_ht40 {
|
||||
uint32_t scan_activity_threshold;
|
||||
};
|
||||
|
||||
/**
|
||||
* enum dot11p_mode - The 802.11p mode of operation
|
||||
* @WLAN_HDD_11P_DISABLED: 802.11p mode is disabled
|
||||
* @WLAN_HDD_11P_STANDALONE: 802.11p-only operation
|
||||
* @WLAN_HDD_11P_CONCURRENT: 802.11p and WLAN operate concurrently
|
||||
*/
|
||||
enum dot11p_mode {
|
||||
CFG_11P_DISABLED = 0,
|
||||
CFG_11P_STANDALONE,
|
||||
CFG_11P_CONCURRENT,
|
||||
};
|
||||
|
||||
/**
|
||||
* struct wlan_mlme_sta_cfg - MLME STA configuration items
|
||||
* @sta_keep_alive_period: Sends NULL frame to AP period
|
||||
* @tgt_gtx_usr_cfg: Target gtx user config
|
||||
* @pmkid_modes: Enable PMKID modes
|
||||
* @wait_cnf_timeout: Wait assoc cnf timeout
|
||||
* @dot11p_mode: Set 802.11p mode
|
||||
* @fils_max_chan_guard_time: Set maximum channel guard time
|
||||
* @current_rssi: Current rssi
|
||||
* @ignore_peer_erp_info: Ignore peer infrormation
|
||||
* @sta_prefer_80mhz_over_160mhz: Set Sta preference to connect in 80HZ/160HZ
|
||||
* @enable_5g_ebt: Set default 5G early beacon termination
|
||||
* @deauth_before_connection: Send deauth before connection or not
|
||||
* @enable_go_cts2self_for_sta: Stop NOA and start using cts2self
|
||||
* @qcn_ie_support: QCN IE support
|
||||
* @force_rsne_override: Force rsnie override from user
|
||||
* @single_tid: Set replay counter for all TID
|
||||
*/
|
||||
struct wlan_mlme_sta_cfg {
|
||||
uint32_t sta_keep_alive_period;
|
||||
uint32_t tgt_gtx_usr_cfg;
|
||||
uint32_t pmkid_modes;
|
||||
uint32_t wait_cnf_timeout;
|
||||
uint8_t dot11p_mode;
|
||||
uint8_t fils_max_chan_guard_time;
|
||||
uint8_t current_rssi;
|
||||
bool ignore_peer_erp_info;
|
||||
bool sta_prefer_80mhz_over_160mhz;
|
||||
bool enable_5g_ebt;
|
||||
bool deauth_before_connection;
|
||||
bool enable_go_cts2self_for_sta;
|
||||
bool qcn_ie_support;
|
||||
bool force_rsne_override;
|
||||
bool single_tid;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct wlan_mlme_cfg - MLME config items
|
||||
* @ht_cfg: HT related CFG Items
|
||||
@@ -235,6 +286,7 @@ struct wlan_mlme_obss_ht40 {
|
||||
* @vht_cfg: VHT related CFG Items
|
||||
* @rates: Rates related cfg items
|
||||
* @sap_protection_cfg: SAP erp protection related CFG items
|
||||
* @sta: sta CFG Items
|
||||
*/
|
||||
struct wlan_mlme_cfg {
|
||||
struct wlan_mlme_ht_caps ht_caps;
|
||||
@@ -245,6 +297,7 @@ struct wlan_mlme_cfg {
|
||||
struct wlan_mlme_sap_protection sap_protection_cfg;
|
||||
struct wlan_mlme_chainmask chainmask_cfg;
|
||||
struct wlan_mlme_cfg_sap sap_cfg;
|
||||
struct wlan_mlme_sta_cfg sta;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@@ -246,4 +246,91 @@ QDF_STATUS ucfg_mlme_configure_chain_mask(struct wlan_objmgr_psoc *psoc,
|
||||
return wlan_mlme_configure_chain_mask(psoc, session_id);
|
||||
}
|
||||
|
||||
/*
|
||||
* ucfg_mlme_get_sta_keep_alive_period() - Get the sta keep alive period
|
||||
* @psoc: pointer to psoc object
|
||||
* @val: Pointer to the value which will be filled for the caller
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
QDF_STATUS
|
||||
ucfg_mlme_get_sta_keep_alive_period(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *val);
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_pmkid_modes() - Get PMKID modes
|
||||
* @psoc: pointer to psoc object
|
||||
* @val: Pointer to the value which will be filled for the caller
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
QDF_STATUS
|
||||
ucfg_mlme_get_pmkid_modes(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *val);
|
||||
|
||||
/**
|
||||
* ucfg_mlme_set_pmkid_modes() - Set PMKID modes
|
||||
* @psoc: pointer to psoc object
|
||||
* @val: Pointer to the value which will be filled for the caller
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
QDF_STATUS
|
||||
ucfg_mlme_set_pmkid_modes(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t val);
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_dot11p_mode() - Get the setting about 802.11p mode
|
||||
* @psoc: pointer to psoc object
|
||||
* @val: Pointer to the value which will be filled for the caller
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
QDF_STATUS
|
||||
ucfg_mlme_get_dot11p_mode(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *val);
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_go_cts2self_for_sta() - Stop NOA and start using cts2self
|
||||
* @psoc: pointer to psoc object
|
||||
* @val: Pointer to the value which will be filled for the caller
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
QDF_STATUS
|
||||
ucfg_mlme_get_go_cts2self_for_sta(struct wlan_objmgr_psoc *psoc,
|
||||
bool *val);
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_force_rsne_override() - Force rsnie override from user
|
||||
* @psoc: pointer to psoc object
|
||||
* @val: Pointer to the value which will be filled for the caller
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
QDF_STATUS
|
||||
ucfg_mlme_get_force_rsne_override(struct wlan_objmgr_psoc *psoc,
|
||||
bool *val);
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_qcn_ie_support() - QCN IE support or not
|
||||
* @psoc: pointer to psoc object
|
||||
* @val: Pointer to the value which will be filled for the caller
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
QDF_STATUS
|
||||
ucfg_mlme_get_qcn_ie_support(struct wlan_objmgr_psoc *psoc,
|
||||
bool *val);
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_tgt_gtx_usr_cfg() - Get the target gtx user config
|
||||
* @psoc: pointer to psoc object
|
||||
* @val: Pointer to the value which will be filled for the caller
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
QDF_STATUS
|
||||
ucfg_mlme_get_tgt_gtx_usr_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *val);
|
||||
#endif /* _WLAN_MLME_UCFG_API_H_ */
|
||||
|
@@ -19,6 +19,8 @@
|
||||
* DOC: define UCFG APIs exposed by the mlme component
|
||||
*/
|
||||
|
||||
#include "cfg_ucfg_api.h"
|
||||
#include "cfg_mlme_sta.h"
|
||||
#include "wlan_mlme_main.h"
|
||||
#include "wlan_mlme_api.h"
|
||||
#include "wlan_mlme_ucfg_api.h"
|
||||
@@ -100,3 +102,146 @@ QDF_STATUS ucfg_mlme_pdev_close(struct wlan_objmgr_pdev *pdev)
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
#endif
|
||||
|
||||
QDF_STATUS
|
||||
ucfg_mlme_get_sta_keep_alive_period(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *val)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||
if (!mlme_obj) {
|
||||
*val = cfg_default(CFG_INFRA_STA_KEEP_ALIVE_PERIOD);
|
||||
mlme_err("mlme obj null");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
*val = mlme_obj->cfg.sta.sta_keep_alive_period;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
ucfg_mlme_get_pmkid_modes(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *val)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||
if (!mlme_obj) {
|
||||
*val = cfg_default(CFG_PMKID_MODES);
|
||||
mlme_err("mlme obj null");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
*val = mlme_obj->cfg.sta.pmkid_modes;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
ucfg_mlme_set_pmkid_modes(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t val)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||
if (!mlme_obj) {
|
||||
mlme_err("mlme obj null");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
mlme_obj->cfg.sta.pmkid_modes = val;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
ucfg_mlme_get_dot11p_mode(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *val)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||
if (!mlme_obj) {
|
||||
*val = cfg_default(CFG_DOT11P_MODE);
|
||||
mlme_err("mlme obj null");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
*val = mlme_obj->cfg.sta.dot11p_mode;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
ucfg_mlme_get_go_cts2self_for_sta(struct wlan_objmgr_psoc *psoc,
|
||||
bool *val)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||
if (!mlme_obj) {
|
||||
*val = cfg_default(CFG_ENABLE_GO_CTS2SELF_FOR_STA);
|
||||
mlme_err("mlme obj null");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
*val = mlme_obj->cfg.sta.enable_go_cts2self_for_sta;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
ucfg_mlme_get_force_rsne_override(struct wlan_objmgr_psoc *psoc,
|
||||
bool *val)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||
if (!mlme_obj) {
|
||||
*val = cfg_default(CFG_FORCE_RSNE_OVERRIDE);
|
||||
mlme_err("mlme obj null");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
*val = mlme_obj->cfg.sta.force_rsne_override;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
ucfg_mlme_get_qcn_ie_support(struct wlan_objmgr_psoc *psoc,
|
||||
bool *val)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||
if (!mlme_obj) {
|
||||
*val = cfg_default(CFG_QCN_IE_SUPPORT);
|
||||
mlme_err("mlme obj null");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
*val = mlme_obj->cfg.sta.qcn_ie_support;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
ucfg_mlme_get_tgt_gtx_usr_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *val)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||
if (!mlme_obj) {
|
||||
*val = cfg_default(CFG_TGT_GTX_USR_CFG);
|
||||
mlme_err("mlme obj null");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
*val = mlme_obj->cfg.sta.tgt_gtx_usr_cfg;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
Referência em uma nova issue
Block a user