qcacld-3.0: Refine mlme reg configurations
Refine mlme reg configurations based on converged cfg component. Remove related legacy codes. Change-Id: I524b29d2d03e60111fa1759d11e32236bb3aa3fa CRs-Fixed: 2357961
This commit is contained in:
parent
b5df052333
commit
0b46ae503e
@ -1942,6 +1942,18 @@ static void mlme_init_mwc_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
}
|
||||
#endif
|
||||
|
||||
static void mlme_init_reg_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
struct wlan_mlme_reg *reg)
|
||||
{
|
||||
reg->self_gen_frm_pwr = cfg_get(psoc, CFG_SELF_GEN_FRM_PWR);
|
||||
reg->etsi13_srd_chan_in_master_mode =
|
||||
cfg_get(psoc, CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE);
|
||||
reg->restart_beaconing_on_ch_avoid =
|
||||
cfg_get(psoc, CFG_RESTART_BEACONING_ON_CH_AVOID);
|
||||
reg->indoor_channel_support = cfg_get(psoc, CFG_INDOOR_CHANNEL_SUPPORT);
|
||||
reg->scan_11d_interval = cfg_get(psoc, CFG_SCAN_11D_INTERVAL);
|
||||
}
|
||||
|
||||
QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
@ -1989,6 +2001,7 @@ QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
|
||||
mlme_init_fe_wlm_in_cfg(psoc, &mlme_cfg->wlm_config);
|
||||
mlme_init_fe_rrm_in_cfg(psoc, &mlme_cfg->rrm_config);
|
||||
mlme_init_mwc_cfg(psoc, &mlme_cfg->mwc);
|
||||
mlme_init_reg_cfg(psoc, &mlme_cfg->reg);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
@ -56,6 +56,7 @@
|
||||
#include "cfg_mlme_fe_wlm.h"
|
||||
#include "cfg_mlme_fe_rrm.h"
|
||||
#include "cfg_mlme_mwc.h"
|
||||
#include "cfg_mlme_reg.h"
|
||||
|
||||
/* Please Maintain Alphabetic Order here */
|
||||
#define CFG_MLME_ALL \
|
||||
@ -81,6 +82,7 @@
|
||||
CFG_POWERSAVE_ALL \
|
||||
CFG_QOS_ALL \
|
||||
CFG_RATES_ALL \
|
||||
CFG_REG_ALL \
|
||||
CFG_SAP_ALL \
|
||||
CFG_SAP_PROTECTION_ALL \
|
||||
CFG_SCORING_ALL \
|
||||
|
166
components/mlme/dispatcher/inc/cfg_mlme_reg.h
Normal file
166
components/mlme/dispatcher/inc/cfg_mlme_reg.h
Normal file
@ -0,0 +1,166 @@
|
||||
/*
|
||||
* 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 REG.
|
||||
*/
|
||||
|
||||
#ifndef CFG_MLME_REG_H__
|
||||
#define CFG_MLME_REG_H__
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gSelfGenFrmPwr - self-generated frame power in tx chain mask
|
||||
* for CCK rates
|
||||
* @Min: 0
|
||||
* @Max: 0xffff
|
||||
* @Default: 0
|
||||
*
|
||||
* gSelfGenFrmPwr is to set self-generated frame power in tx chain mask
|
||||
* for CCK rates
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: STA
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_SELF_GEN_FRM_PWR CFG_INI_UINT( \
|
||||
"gSelfGenFrmPwr", \
|
||||
0, \
|
||||
0xffff, \
|
||||
0, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"set the self gen power value")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* etsi13_srd_chan_in_master_mode - Enable/disable ETSI SRD channels in
|
||||
* master mode PCL and ACS functionality
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 0
|
||||
*
|
||||
* etsi13_srd_chan_in_master_mode is to enable/disable ETSI SRD channels in
|
||||
* master mode PCL and ACS functionality
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: SAP/P2P-GO
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE CFG_INI_BOOL( \
|
||||
"etsi13_srd_chan_in_master_mode", \
|
||||
0, \
|
||||
"enable/disable ETSI SRD channels in master mode")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* restart_beaconing_on_chan_avoid_event - control the beaconing entity to move
|
||||
* away from active LTE channels
|
||||
* @Min: 0
|
||||
* @Max: 2
|
||||
* @Default: 1
|
||||
*
|
||||
* This ini is used to control the beaconing entity (SAP/GO) to move away from
|
||||
* active LTE channels when channel avoidance event is received
|
||||
* restart_beaconing_on_chan_avoid_event=0: Don't allow beaconing entity move
|
||||
* from active LTE channels
|
||||
* restart_beaconing_on_chan_avoid_event=1: Allow beaconing entity move from
|
||||
* active LTE channels
|
||||
* restart_beaconing_on_chan_avoid_event=2: Allow beaconing entity move from
|
||||
* 2.4G active LTE channels only
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: channel avoidance
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_RESTART_BEACONING_ON_CH_AVOID CFG_INI_UINT( \
|
||||
"restart_beaconing_on_chan_avoid_event", \
|
||||
0, \
|
||||
2, \
|
||||
1, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"control the beaconing entity to move away from active LTE channels")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gindoor_channel_support - support to start sap in indoor channel
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 0
|
||||
*
|
||||
* This ini is to support to start sap in indoor channel.
|
||||
* Customer can config this item to enable/disable sap in indoor channel
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: SAP
|
||||
*
|
||||
* Usage: External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_INDOOR_CHANNEL_SUPPORT CFG_INI_BOOL( \
|
||||
"gindoor_channel_support", \
|
||||
0, \
|
||||
"enable/disable sap in indoor channel")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* scan_11d_interval - 11d scan interval in ms
|
||||
* @Min: 1 sec
|
||||
* @Max: 10 hr
|
||||
* @Default: 1 hr
|
||||
*
|
||||
* This ini sets the 11d scan interval in FW
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: STA
|
||||
*
|
||||
* Usage: External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
|
||||
#define CFG_SCAN_11D_INTERVAL CFG_INI_UINT( \
|
||||
"scan_11d_interval", \
|
||||
1000, \
|
||||
36000000, \
|
||||
3600000, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"set the 11d scan interval in FW")
|
||||
|
||||
#define CFG_REG_ALL \
|
||||
CFG(CFG_SELF_GEN_FRM_PWR) \
|
||||
CFG(CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE) \
|
||||
CFG(CFG_RESTART_BEACONING_ON_CH_AVOID) \
|
||||
CFG(CFG_INDOOR_CHANNEL_SUPPORT) \
|
||||
CFG(CFG_SCAN_11D_INTERVAL)
|
||||
|
||||
#endif /* CFG_MLME_REG_H__ */
|
@ -2061,4 +2061,15 @@ QDF_STATUS wlan_mlme_is_imps_enabled(struct wlan_objmgr_psoc *psoc,
|
||||
void
|
||||
wlan_mlme_get_wps_uuid(struct wlan_mlme_wps_params *wps_params, uint8_t *data);
|
||||
|
||||
/*
|
||||
* wlan_mlme_get_self_gen_frm_pwr() - get self gen frm pwr
|
||||
* @psoc: pointer to psoc object
|
||||
* @val: Pointer to the value which will be filled for the caller
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_self_gen_frm_pwr(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value);
|
||||
|
||||
#endif /* _WLAN_MLME_API_H_ */
|
||||
|
@ -1767,6 +1767,24 @@ struct wlan_mlme_mwc {
|
||||
};
|
||||
#endif
|
||||
|
||||
/**
|
||||
* struct wlan_mlme_reg - REG related configs
|
||||
* @self_gen_frm_pwr: self-generated frame power in tx chain mask
|
||||
* for CCK rates
|
||||
* @etsi13_srd_chan_in_master_mode: etsi13 srd chan in master mode
|
||||
* @restart_beaconing_on_ch_avoid: restart beaconing on ch avoid
|
||||
* @indoor_channel_support: indoor channel support
|
||||
* @scan_11d_interval: scan 11d interval
|
||||
*/
|
||||
struct wlan_mlme_reg {
|
||||
uint32_t self_gen_frm_pwr;
|
||||
bool etsi13_srd_chan_in_master_mode;
|
||||
enum restart_beaconing_on_ch_avoid_rule
|
||||
restart_beaconing_on_ch_avoid;
|
||||
bool indoor_channel_support;
|
||||
uint32_t scan_11d_interval;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct wlan_mlme_cfg - MLME config items
|
||||
* @chainmask_cfg: VHT chainmask related cfg items
|
||||
@ -1803,6 +1821,7 @@ struct wlan_mlme_mwc {
|
||||
* @wlm_config: WLM related CFG items
|
||||
* @rrm_config: RRM related CFG items
|
||||
* @mwc: MWC related CFG items
|
||||
* @reg: REG related CFG itmes
|
||||
*/
|
||||
struct wlan_mlme_cfg {
|
||||
struct wlan_mlme_chainmask chainmask_cfg;
|
||||
@ -1841,6 +1860,7 @@ struct wlan_mlme_cfg {
|
||||
struct wlan_mlme_fe_wlm wlm_config;
|
||||
struct wlan_mlme_fe_rrm rrm_config;
|
||||
struct wlan_mlme_mwc mwc;
|
||||
struct wlan_mlme_reg reg;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -3357,4 +3357,49 @@ ucfg_mlme_get_mws_coex_5g_nr_pwr_limit(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *val);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_etsi13_srd_chan_in_master_mode - get etsi13 srd chan
|
||||
* in master 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_etsi13_srd_chan_in_master_mode(struct wlan_objmgr_psoc *psoc,
|
||||
bool *value);
|
||||
|
||||
/**
|
||||
* ucfg_mlme_restart_beaconing_on_ch_avoid() - get restart beaconing on ch avoid
|
||||
* @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_restart_beaconing_on_ch_avoid(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value);
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_indoor_channel_support() - get indoor channel support
|
||||
* @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_indoor_channel_support(struct wlan_objmgr_psoc *psoc,
|
||||
bool *value);
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_scan_11d_interval() - get scan 11d interval
|
||||
* @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_scan_11d_interval(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value);
|
||||
|
||||
#endif /* _WLAN_MLME_UCFG_API_H_ */
|
||||
|
@ -3020,3 +3020,21 @@ void wlan_mlme_get_wps_uuid(struct wlan_mlme_wps_params *wps_params,
|
||||
|
||||
wlan_mlme_get_cfg_str(data, &wps_params->wps_uuid, &len);
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_self_gen_frm_pwr(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||
if (!mlme_obj) {
|
||||
*value = cfg_default(CFG_SELF_GEN_FRM_PWR);
|
||||
mlme_err("Failed to get MLME Obj");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
*value = mlme_obj->cfg.reg.self_gen_frm_pwr;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
@ -1248,3 +1248,75 @@ ucfg_mlme_get_mws_coex_5g_nr_pwr_limit(struct wlan_objmgr_psoc *psoc,
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
#endif
|
||||
|
||||
QDF_STATUS
|
||||
ucfg_mlme_get_etsi13_srd_chan_in_master_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) {
|
||||
*value = cfg_default(CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE);
|
||||
mlme_err("Failed to get MLME Obj");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
*value = mlme_obj->cfg.reg.etsi13_srd_chan_in_master_mode;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
ucfg_mlme_get_restart_beaconing_on_ch_avoid(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||
if (!mlme_obj) {
|
||||
*value = cfg_default(CFG_RESTART_BEACONING_ON_CH_AVOID);
|
||||
mlme_err("Failed to get MLME Obj");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
*value = mlme_obj->cfg.reg.restart_beaconing_on_ch_avoid;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
ucfg_mlme_get_indoor_channel_support(struct wlan_objmgr_psoc *psoc,
|
||||
bool *value)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||
if (!mlme_obj) {
|
||||
*value = cfg_default(CFG_INDOOR_CHANNEL_SUPPORT);
|
||||
mlme_err("Failed to get MLME Obj");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
*value = mlme_obj->cfg.reg.indoor_channel_support;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
ucfg_mlme_get_scan_11d_interval(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||
if (!mlme_obj) {
|
||||
*value = cfg_default(CFG_SCAN_11D_INTERVAL);
|
||||
mlme_err("Failed to get MLME Obj");
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
*value = mlme_obj->cfg.reg.scan_11d_interval;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
@ -79,7 +79,6 @@ enum active_apf_mode {
|
||||
* @enable_dp_rx_threads: enable dp rx threads
|
||||
* @is_lpass_enabled: Indicate whether LPASS is enabled or not
|
||||
* @tx_chain_mask_cck: Tx chain mask enabled or not
|
||||
* @self_gen_frm_pwr: Self gen from power
|
||||
* @sub_20_channel_width: Sub 20 MHz ch width, ini intersected with fw cap
|
||||
* @is_fw_timeout: Indicate whether crash host when fw timesout or not
|
||||
* @active_uc_apf_mode: Setting that determines how APF is applied in active
|
||||
@ -117,7 +116,6 @@ struct cds_config_info {
|
||||
#ifdef WLAN_FEATURE_LPSS
|
||||
bool is_lpass_enabled;
|
||||
#endif
|
||||
uint16_t self_gen_frm_pwr;
|
||||
enum cfg_sub_20_channel_width sub_20_channel_width;
|
||||
uint8_t max_msdus_per_rxinorderind;
|
||||
bool self_recovery_enabled;
|
||||
|
@ -99,11 +99,6 @@ struct hdd_context;
|
||||
#define CFG_ENABLE_11D_IN_WORLD_MODE_MAX (1)
|
||||
#define CFG_ENABLE_11D_IN_WORLD_MODE_DEFAULT (0)
|
||||
|
||||
#define CFG_REG_CHANGE_DEF_COUNTRY_NAME "gRegulatoryChangeCountry"
|
||||
#define CFG_REG_CHANGE_DEF_COUNTRY_DEFAULT (0)
|
||||
#define CFG_REG_CHANGE_DEF_COUNTRY_MIN (0)
|
||||
#define CFG_REG_CHANGE_DEF_COUNTRY_MAX (1)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gAdvertiseConcurrentOperation - Iface combination advertising
|
||||
@ -1738,39 +1733,6 @@ enum hdd_link_speed_rpt_type {
|
||||
#define CFG_GO_11AC_OVERRIDE_MAX (1)
|
||||
#define CFG_GO_11AC_OVERRIDE_DEFAULT (1)
|
||||
|
||||
/*
|
||||
* set the self gen power value from
|
||||
* 0 to 0xffff
|
||||
*/
|
||||
#define CFG_SELF_GEN_FRM_PWR "gSelfGenFrmPwr"
|
||||
#define CFG_SELF_GEN_FRM_PWR_MIN (0)
|
||||
#define CFG_SELF_GEN_FRM_PWR_MAX (0xffff)
|
||||
#define CFG_SELF_GEN_FRM_PWR_DEFAULT (0)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* etsi13_srd_chan_in_master_mode - Enable/disable ETSI SRD channels in
|
||||
* master mode PCL and ACS functionality
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 0
|
||||
*
|
||||
* etsi13_srd_chan_in_master_mode is to enable/disable ETSI SRD channels in
|
||||
* master mode PCL and ACS functionality
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: SAP/P2P-GO
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE "etsi13_srd_chan_in_master_mode"
|
||||
#define CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE_DEF (0)
|
||||
#define CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE_MIN (0)
|
||||
#define CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE_MAX (1)
|
||||
|
||||
/*
|
||||
* gPNOChannelPrediction will allow user to enable/disable the
|
||||
* PNO channel prediction feature.
|
||||
@ -1893,46 +1855,6 @@ enum hdd_link_speed_rpt_type {
|
||||
#define CFG_ADAPT_DWELL_WIFI_THRESH_MAX (100)
|
||||
#define CFG_ADAPT_DWELL_WIFI_THRESH_DEFAULT (10)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* restart_beaconing_on_chan_avoid_event - control the beaconing entity to move
|
||||
* away from active LTE channels
|
||||
* @Min: 0
|
||||
* @Max: 2
|
||||
* @Default: 1
|
||||
*
|
||||
* This ini is used to control the beaconing entity (SAP/GO) to move away from
|
||||
* active LTE channels when channel avoidance event is received
|
||||
* restart_beaconing_on_chan_avoid_event=0: Don't allow beaconing entity move
|
||||
* from active LTE channels
|
||||
* restart_beaconing_on_chan_avoid_event=1: Allow beaconing entity move from
|
||||
* active LTE channels
|
||||
* restart_beaconing_on_chan_avoid_event=2: Allow beaconing entity move from
|
||||
* 2.4G active LTE channels only
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: channel avoidance
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_RESTART_BEACONING_ON_CH_AVOID_NAME "restart_beaconing_on_chan_avoid_event"
|
||||
#define CFG_RESTART_BEACONING_ON_CH_AVOID_MIN (CH_AVOID_RULE_DO_NOT_RESTART)
|
||||
#define CFG_RESTART_BEACONING_ON_CH_AVOID_MAX (CH_AVOID_RULE_RESTART_24G_ONLY)
|
||||
#define CFG_RESTART_BEACONING_ON_CH_AVOID_DEFAULT (CH_AVOID_RULE_RESTART)
|
||||
|
||||
/*
|
||||
* Support to start sap in indoor channel
|
||||
* Customer can config this item to enable/disable sap in indoor channel
|
||||
* Default: Disable
|
||||
*/
|
||||
#define CFG_INDOOR_CHANNEL_SUPPORT_NAME "gindoor_channel_support"
|
||||
#define CFG_INDOOR_CHANNEL_SUPPORT_MIN (0)
|
||||
#define CFG_INDOOR_CHANNEL_SUPPORT_MAX (1)
|
||||
#define CFG_INDOOR_CHANNEL_SUPPORT_DEFAULT (0)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gActiveUcBpfMode - Control UC active APF mode
|
||||
@ -2266,28 +2188,6 @@ enum hdd_link_speed_rpt_type {
|
||||
#define CFG_LPRx_MAX (1)
|
||||
#define CFG_LPRx_DEFAULT (1)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* scan_11d_interval - 11d scan interval in ms
|
||||
* @Min: 1 sec
|
||||
* @Max: 10 hr
|
||||
* @Default: 1 hr
|
||||
*
|
||||
* This ini sets the 11d scan interval in FW
|
||||
*
|
||||
*
|
||||
*
|
||||
* Supported Feature: STA
|
||||
*
|
||||
* Usage: External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
|
||||
#define CFG_SCAN_11D_INTERVAL_NAME "scan_11d_interval"
|
||||
#define CFG_SCAN_11D_INTERVAL_DEFAULT (3600000)
|
||||
#define CFG_SCAN_11D_INTERVAL_MIN (1000)
|
||||
#define CFG_SCAN_11D_INTERVAL_MAX (36000000)
|
||||
/*
|
||||
* <ini>
|
||||
* is_bssid_hint_priority - Set priority for connection with bssid_hint
|
||||
@ -2720,7 +2620,6 @@ struct hdd_config {
|
||||
uint32_t ibssTxSpEndInactivityTime;
|
||||
uint32_t ibssPsWarmupTime;
|
||||
uint32_t ibssPs1RxChainInAtimEnable;
|
||||
bool fRegChangeDefCountry;
|
||||
bool advertiseConcurrentOperation;
|
||||
#ifdef DHCP_SERVER_OFFLOAD
|
||||
uint8_t dhcpServerIP[IPADDR_STRING_LENGTH];
|
||||
@ -2729,8 +2628,6 @@ struct hdd_config {
|
||||
uint8_t sap_11ac_override;
|
||||
uint8_t go_11ac_override;
|
||||
uint8_t max_scan_count;
|
||||
bool etsi13_srd_chan_in_master_mode;
|
||||
uint16_t self_gen_frm_pwr;
|
||||
#ifdef FEATURE_WLAN_SCAN_PNO
|
||||
bool pno_channel_prediction;
|
||||
uint8_t top_k_num_of_channels;
|
||||
@ -2765,11 +2662,8 @@ struct hdd_config {
|
||||
uint8_t adapt_dwell_passive_mon_intval;
|
||||
uint8_t adapt_dwell_wifi_act_threshold;
|
||||
bool bug_report_for_no_scan_results;
|
||||
bool indoor_channel_support;
|
||||
uint16_t sap_tx_leakage_threshold;
|
||||
bool sap_internal_restart;
|
||||
enum restart_beaconing_on_ch_avoid_rule
|
||||
restart_beaconing_on_chan_avoid_event;
|
||||
enum active_apf_mode active_uc_apf_mode;
|
||||
enum active_apf_mode active_mc_bc_apf_mode;
|
||||
uint8_t he_dynamic_frag_support;
|
||||
@ -2791,7 +2685,6 @@ struct hdd_config {
|
||||
uint32_t mawc_nlo_max_scan_interval;
|
||||
bool enable_11d_in_world_mode;
|
||||
bool enable_lprx;
|
||||
uint32_t scan_11d_interval;
|
||||
bool is_bssid_hint_priority;
|
||||
#ifdef WLAN_FEATURE_SAE
|
||||
bool is_sae_enabled;
|
||||
|
@ -353,13 +353,6 @@ struct reg_table_entry g_registry_table[] = {
|
||||
CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_MIN,
|
||||
CFG_IBSS_PS_1RX_CHAIN_IN_ATIM_WINDOW_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_REG_CHANGE_DEF_COUNTRY_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, fRegChangeDefCountry,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_REG_CHANGE_DEF_COUNTRY_DEFAULT,
|
||||
CFG_REG_CHANGE_DEF_COUNTRY_MIN,
|
||||
CFG_REG_CHANGE_DEF_COUNTRY_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_INITIAL_DWELL_TIME_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, nInitialDwellTime,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
@ -428,13 +421,6 @@ struct reg_table_entry g_registry_table[] = {
|
||||
CFG_MAX_SCAN_COUNT_MIN,
|
||||
CFG_MAX_SCAN_COUNT_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE, WLAN_PARAM_Integer,
|
||||
struct hdd_config, etsi13_srd_chan_in_master_mode,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE_DEF,
|
||||
CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE_MIN,
|
||||
CFG_ETSI13_SRD_CHAN_IN_MASTER_MODE_MAX),
|
||||
|
||||
#ifdef FEATURE_WLAN_SCAN_PNO
|
||||
REG_VARIABLE(CFG_PNO_CHANNEL_PREDICTION_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, pno_channel_prediction,
|
||||
@ -473,12 +459,6 @@ struct reg_table_entry g_registry_table[] = {
|
||||
CFG_ADAPTIVE_PNOSCAN_DWELL_MODE_MIN,
|
||||
CFG_ADAPTIVE_PNOSCAN_DWELL_MODE_MAX),
|
||||
#endif
|
||||
REG_VARIABLE(CFG_SELF_GEN_FRM_PWR, WLAN_PARAM_Integer,
|
||||
struct hdd_config, self_gen_frm_pwr,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_SELF_GEN_FRM_PWR_DEFAULT,
|
||||
CFG_SELF_GEN_FRM_PWR_MIN,
|
||||
CFG_SELF_GEN_FRM_PWR_MAX),
|
||||
|
||||
#ifdef FEATURE_LFR_SUBNET_DETECTION
|
||||
REG_VARIABLE(CFG_ENABLE_LFR_SUBNET_DETECTION, WLAN_PARAM_Integer,
|
||||
@ -587,21 +567,6 @@ struct reg_table_entry g_registry_table[] = {
|
||||
CFG_ADAPT_DWELL_WIFI_THRESH_MIN,
|
||||
CFG_ADAPT_DWELL_WIFI_THRESH_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_INDOOR_CHANNEL_SUPPORT_NAME,
|
||||
WLAN_PARAM_Integer,
|
||||
struct hdd_config, indoor_channel_support,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_INDOOR_CHANNEL_SUPPORT_DEFAULT,
|
||||
CFG_INDOOR_CHANNEL_SUPPORT_MIN,
|
||||
CFG_INDOOR_CHANNEL_SUPPORT_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_RESTART_BEACONING_ON_CH_AVOID_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, restart_beaconing_on_chan_avoid_event,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_RESTART_BEACONING_ON_CH_AVOID_DEFAULT,
|
||||
CFG_RESTART_BEACONING_ON_CH_AVOID_MIN,
|
||||
CFG_RESTART_BEACONING_ON_CH_AVOID_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_ACTIVE_UC_APF_MODE_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, active_uc_apf_mode,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
@ -710,13 +675,6 @@ struct reg_table_entry g_registry_table[] = {
|
||||
CFG_LPRx_MIN,
|
||||
CFG_LPRx_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_SCAN_11D_INTERVAL_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, scan_11d_interval,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_SCAN_11D_INTERVAL_DEFAULT,
|
||||
CFG_SCAN_11D_INTERVAL_MIN,
|
||||
CFG_SCAN_11D_INTERVAL_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_IS_BSSID_HINT_PRIORITY_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, is_bssid_hint_priority,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
|
@ -2538,6 +2538,7 @@ static int __wlan_hdd_cfg80211_do_acs(struct wiphy *wiphy,
|
||||
cfg_default(CFG_EXTERNAL_ACS_POLICY);
|
||||
bool sap_force_11n_for_11ac = 0;
|
||||
bool go_force_11n_for_11ac = 0;
|
||||
bool etsi13_srd_chan;
|
||||
|
||||
/* ***Note*** Donot set SME config related to ACS operation here because
|
||||
* ACS operation is not synchronouse and ACS for Second AP may come when
|
||||
@ -2715,8 +2716,10 @@ static int __wlan_hdd_cfg80211_do_acs(struct wiphy *wiphy,
|
||||
goto out;
|
||||
}
|
||||
|
||||
ucfg_mlme_get_etsi13_srd_chan_in_master_mode(hdd_ctx->psoc,
|
||||
&etsi13_srd_chan);
|
||||
skip_etsi13_srd_chan =
|
||||
!hdd_ctx->config->etsi13_srd_chan_in_master_mode &&
|
||||
!etsi13_srd_chan &&
|
||||
wlan_reg_is_etsi13_regdmn(hdd_ctx->pdev);
|
||||
|
||||
if (skip_etsi13_srd_chan) {
|
||||
|
@ -9931,7 +9931,6 @@ static int hdd_update_cds_config(struct hdd_context *hdd_ctx)
|
||||
cds_cfg->max_scan = hdd_ctx->config->max_scan_count;
|
||||
|
||||
cds_cfg->enable_rxthread = hdd_ctx->enable_rxthread;
|
||||
cds_cfg->self_gen_frm_pwr = hdd_ctx->config->self_gen_frm_pwr;
|
||||
ucfg_mlme_get_sap_max_peers(hdd_ctx->psoc, &value);
|
||||
cds_cfg->max_station = value;
|
||||
cds_cfg->sub_20_channel_width = WLAN_SUB_20_CH_WIDTH_NONE;
|
||||
@ -9992,10 +9991,6 @@ static int hdd_update_user_config(struct hdd_context *hdd_ctx)
|
||||
return -ENOMEM;
|
||||
|
||||
user_config->dot11_mode = hdd_ctx->config->dot11Mode;
|
||||
user_config->dual_mac_feature_disable = dual_mac_feature;
|
||||
user_config->indoor_channel_support =
|
||||
hdd_ctx->config->indoor_channel_support;
|
||||
|
||||
status = ucfg_mlme_is_11d_enabled(hdd_ctx->psoc, &value);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status))
|
||||
hdd_err("Invalid 11d_enable flag");
|
||||
@ -10006,7 +10001,6 @@ static int hdd_update_user_config(struct hdd_context *hdd_ctx)
|
||||
if (!QDF_IS_STATUS_SUCCESS(status))
|
||||
hdd_err("Invalid 11h_enable flag");
|
||||
user_config->is_11h_support_enabled = value;
|
||||
|
||||
cfg_p2p_get_skip_dfs_channel_p2p_search(hdd_ctx->psoc,
|
||||
&skip_dfs_in_p2p_search);
|
||||
user_config->skip_dfs_chnl_in_p2p_search = skip_dfs_in_p2p_search;
|
||||
@ -10936,9 +10930,6 @@ static int hdd_features_init(struct hdd_context *hdd_ctx)
|
||||
/* FW capabilities received, Set the Dot11 mode */
|
||||
mac_handle = hdd_ctx->mac_handle;
|
||||
sme_setdef_dot11mode(mac_handle);
|
||||
sme_set_etsi13_srd_ch_in_master_mode(mac_handle,
|
||||
cfg->
|
||||
etsi13_srd_chan_in_master_mode);
|
||||
|
||||
ucfg_mlme_is_imps_enabled(hdd_ctx->psoc, &is_imps_enabled);
|
||||
hdd_set_idle_ps_config(hdd_ctx, is_imps_enabled);
|
||||
|
@ -209,6 +209,10 @@ static void reg_program_config_vars(struct hdd_context *hdd_ctx,
|
||||
struct reg_config_vars *config_vars)
|
||||
{
|
||||
uint8_t band_capability = 0, indoor_chnl_marking = 0;
|
||||
uint32_t scan_11d_interval = 0;
|
||||
bool indoor_chan_enabled = false;
|
||||
uint32_t restart_beaconing = 0;
|
||||
bool enable_srd_chan = false;
|
||||
QDF_STATUS status;
|
||||
bool country_priority = 0;
|
||||
bool value = false;
|
||||
@ -227,19 +231,30 @@ static void reg_program_config_vars(struct hdd_context *hdd_ctx,
|
||||
hdd_err("Invalid 11d_enable flag");
|
||||
config_vars->enable_11d_support = value;
|
||||
|
||||
config_vars->scan_11d_interval = hdd_ctx->config->scan_11d_interval;
|
||||
ucfg_mlme_get_scan_11d_interval(hdd_ctx->psoc, &scan_11d_interval);
|
||||
config_vars->scan_11d_interval = scan_11d_interval;
|
||||
|
||||
ucfg_mlme_get_sap_country_priority(hdd_ctx->psoc,
|
||||
&country_priority);
|
||||
config_vars->userspace_ctry_priority = country_priority;
|
||||
|
||||
config_vars->dfs_enabled = hdd_ctx->config->enableDFSChnlScan;
|
||||
config_vars->indoor_chan_enabled =
|
||||
hdd_ctx->config->indoor_channel_support;
|
||||
|
||||
ucfg_mlme_get_indoor_channel_support(hdd_ctx->psoc,
|
||||
&indoor_chan_enabled);
|
||||
config_vars->indoor_chan_enabled = indoor_chan_enabled;
|
||||
|
||||
config_vars->force_ssc_disable_indoor_channel = indoor_chnl_marking;
|
||||
config_vars->band_capability = band_capability;
|
||||
config_vars->restart_beaconing = hdd_ctx->config->
|
||||
restart_beaconing_on_chan_avoid_event;
|
||||
config_vars->enable_srd_chan_in_master_mode =
|
||||
hdd_ctx->config->etsi13_srd_chan_in_master_mode;
|
||||
|
||||
ucfg_mlme_get_restart_beaconing_on_ch_avoid(hdd_ctx->psoc,
|
||||
&restart_beaconing);
|
||||
config_vars->restart_beaconing = restart_beaconing;
|
||||
|
||||
ucfg_mlme_get_etsi13_srd_chan_in_master_mode(hdd_ctx->psoc,
|
||||
&enable_srd_chan);
|
||||
config_vars->enable_srd_chan_in_master_mode = enable_srd_chan;
|
||||
|
||||
config_vars->enable_11d_in_world_mode =
|
||||
hdd_ctx->config->enable_11d_in_world_mode;
|
||||
}
|
||||
@ -266,9 +281,6 @@ static void hdd_regulatory_wiphy_init(struct hdd_context *hdd_ctx,
|
||||
if (hdd_is_world_regdomain(reg->reg_domain)) {
|
||||
reg_rules = hdd_get_world_regrules(reg);
|
||||
wiphy->regulatory_flags |= REGULATORY_CUSTOM_REG;
|
||||
} else if (hdd_ctx->config->fRegChangeDefCountry) {
|
||||
wiphy->regulatory_flags |= REGULATORY_CUSTOM_REG;
|
||||
reg_rules = &hdd_world_regrules_60_61_62;
|
||||
} else {
|
||||
wiphy->regulatory_flags |= REGULATORY_STRICT_REG;
|
||||
reg_rules = &hdd_world_regrules_60_61_62;
|
||||
@ -309,9 +321,6 @@ static void hdd_regulatory_wiphy_init(struct hdd_context *hdd_ctx,
|
||||
if (hdd_is_world_regdomain(reg->reg_domain)) {
|
||||
reg_rules = hdd_get_world_regrules(reg);
|
||||
wiphy->flags |= WIPHY_FLAG_CUSTOM_REGULATORY;
|
||||
} else if (hdd_ctx->config->fRegChangeDefCountry) {
|
||||
wiphy->flags |= WIPHY_FLAG_CUSTOM_REGULATORY;
|
||||
reg_rules = &hdd_world_regrules_60_61_62;
|
||||
} else {
|
||||
wiphy->flags |= WIPHY_FLAG_STRICT_REGULATORY;
|
||||
reg_rules = &hdd_world_regrules_60_61_62;
|
||||
@ -430,6 +439,7 @@ static void hdd_process_regulatory_data(struct hdd_context *hdd_ctx,
|
||||
struct ieee80211_channel *wiphy_chan, *wiphy_chan_144 = NULL;
|
||||
struct regulatory_channel *cds_chan;
|
||||
uint8_t band_capability, indoor_chnl_marking = 0;
|
||||
bool indoor;
|
||||
QDF_STATUS status;
|
||||
|
||||
band_capability = hdd_ctx->curr_band;
|
||||
@ -484,8 +494,10 @@ static void hdd_process_regulatory_data(struct hdd_context *hdd_ctx,
|
||||
IEEE80211_CHAN_INDOOR_ONLY) {
|
||||
cds_chan->chan_flags |=
|
||||
REGULATORY_CHAN_INDOOR_ONLY;
|
||||
if (hdd_ctx->config->indoor_channel_support
|
||||
== false) {
|
||||
|
||||
ucfg_mlme_get_indoor_chan_enabled(hdd_ctx->psoc,
|
||||
&indoor);
|
||||
if (!indoor) {
|
||||
cds_chan->state = CHANNEL_STATE_DFS;
|
||||
wiphy_chan->flags |=
|
||||
IEEE80211_CHAN_PASSIVE_SCAN;
|
||||
@ -598,7 +610,9 @@ void hdd_modify_indoor_channel_state_flags(
|
||||
struct regulatory_channel *cds_chan,
|
||||
enum channel_enum chan_enum, int chan_num, bool disable)
|
||||
{
|
||||
bool indoor_support = hdd_ctx->config->indoor_channel_support;
|
||||
bool indoor_support;
|
||||
|
||||
ucfg_mlme_get_indoor_channel_support(hdd_ctx->psoc, &indoor_support);
|
||||
|
||||
/* Mark indoor channel to disable in wiphy and cds */
|
||||
if (disable) {
|
||||
|
@ -713,7 +713,6 @@ typedef struct tagSapStruct {
|
||||
#endif /* FEATURE_AP_MCC_CH_AVOIDANCE */
|
||||
bool acs_with_more_param;
|
||||
bool enable_dfs_phy_error_logs;
|
||||
bool enable_etsi13_srd_chan_support;
|
||||
} tSapStruct, *tpSapStruct;
|
||||
|
||||
#ifdef FEATURE_WLAN_CH_AVOID
|
||||
|
@ -671,7 +671,7 @@ static bool sap_chan_sel_init(mac_handle_t mac_handle,
|
||||
if (wlan_reg_is_dsrc_chan(mac->pdev, *pChans))
|
||||
continue;
|
||||
|
||||
if (!mac->sap.enable_etsi13_srd_chan_support &&
|
||||
if (!mac->mlme_cfg->reg.etsi13_srd_chan_in_master_mode &&
|
||||
wlan_reg_is_etsi13_srd_chan(mac->pdev, *pChans))
|
||||
continue;
|
||||
|
||||
|
@ -1535,11 +1535,6 @@ QDF_STATUS sme_register_for_dcc_stats_event(mac_handle_t mac_handle,
|
||||
ocb_callback callback);
|
||||
QDF_STATUS sme_deregister_for_dcc_stats_event(mac_handle_t mac_handle);
|
||||
|
||||
static inline void
|
||||
sme_set_etsi13_srd_ch_in_master_mode(mac_handle_t mac_handle,
|
||||
bool etsi13_srd_chan_support)
|
||||
{
|
||||
}
|
||||
#else
|
||||
static inline
|
||||
QDF_STATUS sme_ocb_set_config(mac_handle_t mac_handle, void *context,
|
||||
@ -1620,17 +1615,6 @@ QDF_STATUS sme_deregister_for_dcc_stats_event(mac_handle_t mac_handle)
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* sme_set_etsi13_srd_ch_in_master_mode() - master mode UNI-III band ch support
|
||||
* @mac_handle: Opaque handle to the global MAC context
|
||||
* @srd_chan_support: ETSI SRD channel support
|
||||
*
|
||||
* This function set master ETSI SRD channel support
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void sme_set_etsi13_srd_ch_in_master_mode(mac_handle_t mac_handle,
|
||||
bool etsi13_srd_chan_support);
|
||||
#endif
|
||||
|
||||
void sme_add_set_thermal_level_callback(mac_handle_t mac_handle,
|
||||
|
@ -9301,16 +9301,6 @@ QDF_STATUS sme_deregister_for_dcc_stats_event(mac_handle_t mac_handle)
|
||||
|
||||
return status;
|
||||
}
|
||||
#else
|
||||
void sme_set_etsi13_srd_ch_in_master_mode(mac_handle_t mac_handle,
|
||||
bool etsi13_srd_chan_support)
|
||||
{
|
||||
struct mac_context *mac;
|
||||
|
||||
mac = MAC_CONTEXT(mac_handle);
|
||||
mac->sap.enable_etsi13_srd_chan_support = etsi13_srd_chan_support;
|
||||
sme_debug("srd_ch_support %d", mac->sap.enable_etsi13_srd_chan_support);
|
||||
}
|
||||
#endif
|
||||
|
||||
void sme_get_recovery_stats(mac_handle_t mac_handle)
|
||||
|
@ -3166,6 +3166,7 @@ QDF_STATUS wma_open(struct wlan_objmgr_psoc *psoc,
|
||||
target_resource_config *wlan_res_cfg;
|
||||
enum pmo_wow_enable_type wow_enable;
|
||||
uint8_t delay_before_vdev_stop;
|
||||
uint32_t self_gen_frm_pwr = 0;
|
||||
|
||||
WMA_LOGD("%s: Enter", __func__);
|
||||
|
||||
@ -3313,7 +3314,11 @@ QDF_STATUS wma_open(struct wlan_objmgr_psoc *psoc,
|
||||
goto err_wma_handle;
|
||||
}
|
||||
wma_handle->tx_chain_mask_cck = val;
|
||||
wma_handle->self_gen_frm_pwr = cds_cfg->self_gen_frm_pwr;
|
||||
|
||||
qdf_status = wlan_mlme_get_self_gen_frm_pwr(psoc, &self_gen_frm_pwr);
|
||||
if (qdf_status != QDF_STATUS_SUCCESS)
|
||||
WMA_LOGE("%s: Failed to get self_gen_frm_pwr", __func__);
|
||||
wma_handle->self_gen_frm_pwr = self_gen_frm_pwr;
|
||||
|
||||
cds_cfg->max_bssid = WMA_MAX_SUPPORTED_BSS;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user