mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-13 08:07:32 -04:00
Merge "qcacld-3.0: Move few INIs' ownership from HDD to MLME" into wlan-cld3.driver.lnx.2.0
This commit is contained in:
commit
2e085746ab
14 changed files with 511 additions and 205 deletions
|
|
@ -896,6 +896,11 @@ static void mlme_init_feature_flag_in_cfg(
|
|||
cfg_default(CFG_CHANNEL_BONDING_MODE);
|
||||
feature_flags->enable_block_ack = cfg_default(CFG_BLOCK_ACK_ENABLED);
|
||||
feature_flags->enable_ampdu = cfg_get(psoc, CFG_ENABLE_AMPDUPS);
|
||||
feature_flags->mcc_rts_cts_prot = cfg_get(psoc,
|
||||
CFG_FW_MCC_RTS_CTS_PROT);
|
||||
feature_flags->mcc_bcast_prob_rsp = cfg_get(psoc,
|
||||
CFG_FW_MCC_BCAST_PROB_RESP);
|
||||
feature_flags->enable_mcc = cfg_get(psoc, CFG_MCC_FEATURE);
|
||||
}
|
||||
|
||||
static void mlme_init_sap_protection_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
|
|
@ -1154,7 +1159,8 @@ static void mlme_init_sap_cfg(struct wlan_objmgr_psoc *psoc,
|
|||
cfg_get(psoc, CFG_GO_FORCE_11N_FOR_11AC);
|
||||
sap_cfg->ap_random_bssid_enable =
|
||||
cfg_get(psoc, CFG_AP_ENABLE_RANDOM_BSSID);
|
||||
|
||||
sap_cfg->sap_mcc_chnl_avoid =
|
||||
cfg_get(psoc, CFG_SAP_MCC_CHANNEL_AVOIDANCE);
|
||||
}
|
||||
|
||||
static void mlme_init_obss_ht40_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
|
|
@ -1250,6 +1256,8 @@ static void mlme_init_sta_cfg(struct wlan_objmgr_psoc *psoc,
|
|||
cfg_get(psoc, CFG_FORCE_RSNE_OVERRIDE);
|
||||
sta->single_tid =
|
||||
cfg_get(psoc, CFG_SINGLE_TID_RC);
|
||||
sta->sta_miracast_mcc_rest_time =
|
||||
cfg_get(psoc, CFG_STA_MCAST_MCC_REST_TIME);
|
||||
sta->wait_cnf_timeout =
|
||||
(uint32_t)cfg_default(CFG_WT_CNF_TIMEOUT);
|
||||
sta->current_rssi =
|
||||
|
|
|
|||
|
|
@ -86,10 +86,85 @@
|
|||
0, \
|
||||
"Enable AMPDU")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gFWMccRtsCtsProtection - RTS-CTS protection in MCC.
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 0
|
||||
*
|
||||
* This ini is used to enable/disable use of long duration RTS-CTS protection
|
||||
* when SAP goes off channel in MCC mode.
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: Concurrency
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_FW_MCC_RTS_CTS_PROT CFG_INI_UINT( \
|
||||
"gFWMccRtsCtsProtection", \
|
||||
0, 1, 0, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"RTS-CTS protection in MCC")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gFWMccBCastProbeResponse - Broadcast Probe Response in MCC.
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 0
|
||||
*
|
||||
* This ini is used to enable/disable use of broadcast probe response to
|
||||
* increase the detectability of SAP in MCC mode.
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: Concurrency
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
|
||||
#define CFG_FW_MCC_BCAST_PROB_RESP CFG_INI_UINT( \
|
||||
"gFWMccBCastProbeResponse", \
|
||||
0, 1, 0, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Broadcast Probe Response in MCC")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gEnableMCCMode - Enable/Disable MCC feature.
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 1
|
||||
*
|
||||
* This ini is used to enable/disable MCC feature.
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: Concurrency
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_MCC_FEATURE CFG_INI_UINT( \
|
||||
"gEnableMCCMode", \
|
||||
0, 1, 1, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Enable/Disable MCC feature.")
|
||||
|
||||
#define CFG_FEATURE_FLAG_ALL \
|
||||
CFG(CFG_ACCEPT_SHORT_SLOT_ASSOC_ONLY) \
|
||||
CFG(CFG_HCF_ENABLED) \
|
||||
CFG(CFG_RSN_ENABLED) \
|
||||
CFG(CFG_FW_MCC_RTS_CTS_PROT) \
|
||||
CFG(CFG_FW_MCC_BCAST_PROB_RESP) \
|
||||
CFG(CFG_MCC_FEATURE) \
|
||||
CFG(CFG_11G_SHORT_PREAMBLE_ENABLED) \
|
||||
CFG(CFG_11G_SHORT_SLOT_TIME_ENABLED) \
|
||||
CFG(CFG_CHANNEL_BONDING_MODE) \
|
||||
|
|
|
|||
|
|
@ -601,6 +601,31 @@
|
|||
0, \
|
||||
"Create ramdom BSSID")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gSapChannelAvoidance - SAP MCC channel avoidance.
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 0
|
||||
*
|
||||
* This ini is used to sets sap mcc channel avoidance.
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: Concurrency
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_SAP_MCC_CHANNEL_AVOIDANCE CFG_INI_UINT( \
|
||||
"gSapChannelAvoidance", \
|
||||
0, \
|
||||
1, \
|
||||
0, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"SAP MCC channel avoidance")
|
||||
|
||||
#define CFG_SAP_ALL \
|
||||
CFG(CFG_AP_ENABLE_RANDOM_BSSID) \
|
||||
CFG(CFG_SSID) \
|
||||
|
|
@ -616,6 +641,7 @@
|
|||
CFG(CFG_RATE_FOR_TX_MGMT_5G) \
|
||||
CFG(CFG_TELE_BCN_WAKEUP_EN) \
|
||||
CFG(CFG_TELE_BCN_MAX_LI) \
|
||||
CFG(CFG_SAP_MCC_CHANNEL_AVOIDANCE) \
|
||||
CFG(CFG_SAP_GET_PEER_INFO) \
|
||||
CFG(CFG_SAP_ALLOW_ALL_CHANNEL_PARAM) \
|
||||
CFG(CFG_SAP_MAX_NO_PEERS) \
|
||||
|
|
|
|||
|
|
@ -354,6 +354,33 @@
|
|||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Wait confirm timeout")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gStaMiracastMccRestTimeVal - Rest time when Miracast is running.
|
||||
* @Min: 100
|
||||
* @Max: 500
|
||||
* @Default: 400
|
||||
*
|
||||
* This ini is used to set rest time for home channel for Miracast before
|
||||
* going for scan.
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: Concurrency
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
|
||||
#define CFG_STA_MCAST_MCC_REST_TIME CFG_INI_UINT( \
|
||||
"gStaMiracastMccRestTimeVal", \
|
||||
100, \
|
||||
500, \
|
||||
400, \
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Rest time when Miracast is running")
|
||||
|
||||
/*
|
||||
* current_rssi - current rssi
|
||||
* @Min: 0
|
||||
|
|
@ -435,6 +462,7 @@
|
|||
CFG(CFG_DOT11P_MODE) \
|
||||
CFG(CFG_ENABLE_GO_CTS2SELF_FOR_STA) \
|
||||
CFG(CFG_QCN_IE_SUPPORT) \
|
||||
CFG(CFG_STA_MCAST_MCC_REST_TIME) \
|
||||
CFG(CFG_FILS_MAX_CHAN_GUARD_TIME) \
|
||||
CFG(CFG_FORCE_RSNE_OVERRIDE) \
|
||||
CFG(CFG_SINGLE_TID_RC) \
|
||||
|
|
|
|||
|
|
@ -1857,7 +1857,6 @@ QDF_STATUS wlan_mlme_is_sap_uapsd_enabled(struct wlan_objmgr_psoc *psoc,
|
|||
*/
|
||||
QDF_STATUS wlan_mlme_set_sap_uapsd_flag(struct wlan_objmgr_psoc *psoc,
|
||||
bool value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_is_11h_enabled() - Get the 11h flag
|
||||
* @psoc: psoc context
|
||||
|
|
@ -1894,4 +1893,74 @@ wlan_mlme_is_11d_enabled(struct wlan_objmgr_psoc *psoc, bool *value);
|
|||
QDF_STATUS
|
||||
wlan_mlme_set_11d_enabled(struct wlan_objmgr_psoc *psoc, bool value);
|
||||
|
||||
/**
|
||||
* wlan_mlme_get_sta_miracast_mcc_rest_time() - Get STA/MIRACAST MCC rest time
|
||||
*
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: value which needs to filled by API
|
||||
*
|
||||
* This API gives rest time to be used when STA and MIRACAST MCC conc happens
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_sta_miracast_mcc_rest_time(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value);
|
||||
/**
|
||||
* wlan_mlme_get_sap_mcc_chnl_avoid() - Check if SAP MCC needs to be avoided
|
||||
*
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: value which needs to filled by API
|
||||
*
|
||||
* This API fetches the user setting to determine if SAP MCC with other persona
|
||||
* to be avoided.
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_sap_mcc_chnl_avoid(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *value);
|
||||
/**
|
||||
* wlan_mlme_get_mcc_bcast_prob_resp() - Get broadcast probe rsp in MCC
|
||||
*
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: value which needs to filled by API
|
||||
*
|
||||
* To get INI value which helps to determe whether to enable/disable use of
|
||||
* broadcast probe response to increase the detectability of SAP in MCC mode.
|
||||
*
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_mcc_bcast_prob_resp(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *value);
|
||||
/**
|
||||
* wlan_mlme_get_mcc_rts_cts_prot() - To get RTS-CTS protection in MCC.
|
||||
*
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: value which needs to filled by API
|
||||
*
|
||||
* To get INI value which helps to determine whether to enable/disable
|
||||
* use of long duration RTS-CTS protection when SAP goes off
|
||||
* channel in MCC mode.
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_mcc_rts_cts_prot(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *value);
|
||||
/**
|
||||
* wlan_mlme_get_mcc_feature() - To find out to enable/disable MCC feature
|
||||
*
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: value which needs to filled by API
|
||||
*
|
||||
* To get INI value which helps to determine whether to enable MCC feature
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_mcc_feature(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *value);
|
||||
#endif /* _WLAN_MLME_API_H_ */
|
||||
|
|
|
|||
|
|
@ -537,6 +537,7 @@ struct wlan_mlme_wps_params {
|
|||
* @max_li_modulated_dtim_time: Max modulated DTIM time.
|
||||
* @country_code_priority: Country code priority.
|
||||
* @sap_pref_chan_location: SAP Preferred channel location.
|
||||
* @sap_mcc_chnl_avoid: SAP MCC channel avoidance flag
|
||||
*/
|
||||
struct wlan_mlme_cfg_sap {
|
||||
uint8_t cfg_ssid[MLME_CFG_SSID_LEN];
|
||||
|
|
@ -569,6 +570,7 @@ struct wlan_mlme_cfg_sap {
|
|||
bool sap_force_11n_for_11ac;
|
||||
bool go_force_11n_for_11ac;
|
||||
bool ap_random_bssid_enable;
|
||||
uint8_t sap_mcc_chnl_avoid;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -837,9 +839,12 @@ struct wlan_mlme_feature_flag {
|
|||
bool enable_rsn;
|
||||
bool enable_short_preamble_11g;
|
||||
bool enable_short_slot_time_11g;
|
||||
bool enable_ampdu;
|
||||
bool enable_mcc;
|
||||
uint8_t mcc_rts_cts_prot;
|
||||
uint8_t mcc_bcast_prob_rsp;
|
||||
uint32_t channel_bonding_mode;
|
||||
uint32_t enable_block_ack;
|
||||
bool enable_ampdu;
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
@ -1067,6 +1072,7 @@ enum station_keepalive_method {
|
|||
* @tgt_gtx_usr_cfg: Target gtx user config
|
||||
* @pmkid_modes: Enable PMKID modes
|
||||
* @wait_cnf_timeout: Wait assoc cnf timeout
|
||||
* @sta_miracast_mcc_rest_time: STA+MIRACAST(P2P) MCC rest time
|
||||
* @dot11p_mode: Set 802.11p mode
|
||||
* @fils_max_chan_guard_time: Set maximum channel guard time
|
||||
* @current_rssi: Current rssi
|
||||
|
|
@ -1085,6 +1091,7 @@ struct wlan_mlme_sta_cfg {
|
|||
uint32_t tgt_gtx_usr_cfg;
|
||||
uint32_t pmkid_modes;
|
||||
uint32_t wait_cnf_timeout;
|
||||
uint32_t sta_miracast_mcc_rest_time;
|
||||
enum dot11p_mode dot11p_mode;
|
||||
uint8_t fils_max_chan_guard_time;
|
||||
uint8_t current_rssi;
|
||||
|
|
|
|||
|
|
@ -3105,4 +3105,93 @@ QDF_STATUS
|
|||
ucfg_mlme_get_ap_random_bssid_enable(struct wlan_objmgr_psoc *psoc,
|
||||
bool *value);
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_sta_miracast_mcc_rest_time() - Get STA/MIRACAST MCC rest time
|
||||
*
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: value which needs to filled by API
|
||||
*
|
||||
* This API gives rest time to be used when STA and MIRACAST MCC conc happens
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
static inline QDF_STATUS
|
||||
ucfg_mlme_get_sta_miracast_mcc_rest_time(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t *value)
|
||||
{
|
||||
return wlan_mlme_get_sta_miracast_mcc_rest_time(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_sap_mcc_chnl_avoid() - Check if SAP MCC needs to be avoided
|
||||
*
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: value which needs to filled by API
|
||||
*
|
||||
* This API fetches the user setting to determine if SAP MCC with other persona
|
||||
* to be avoided.
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
static inline QDF_STATUS
|
||||
ucfg_mlme_get_sap_mcc_chnl_avoid(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *value)
|
||||
{
|
||||
return wlan_mlme_get_sap_mcc_chnl_avoid(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_mcc_bcast_prob_resp() - Get broadcast probe rsp in MCC
|
||||
*
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: value which needs to filled by API
|
||||
*
|
||||
* To get INI value which helps to determe whether to enable/disable use of
|
||||
* broadcast probe response to increase the detectability of SAP in MCC mode.
|
||||
*
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
static inline QDF_STATUS
|
||||
ucfg_mlme_get_mcc_bcast_prob_resp(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *value)
|
||||
{
|
||||
return wlan_mlme_get_mcc_bcast_prob_resp(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_mcc_rts_cts_prot() - To get RTS-CTS protection in MCC.
|
||||
*
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: value which needs to filled by API
|
||||
*
|
||||
* To get INI value which helps to determine whether to enable/disable
|
||||
* use of long duration RTS-CTS protection when SAP goes off
|
||||
* channel in MCC mode.
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
static inline QDF_STATUS
|
||||
ucfg_mlme_get_mcc_rts_cts_prot(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *value)
|
||||
{
|
||||
return wlan_mlme_get_mcc_rts_cts_prot(psoc, value);
|
||||
}
|
||||
|
||||
/**
|
||||
* ucfg_mlme_get_mcc_feature() - To find out to enable/disable MCC feature
|
||||
*
|
||||
* @psoc: pointer to psoc object
|
||||
* @value: value which needs to filled by API
|
||||
*
|
||||
* To get INI value which helps to determine whether to enable MCC feature
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
static inline QDF_STATUS
|
||||
ucfg_mlme_get_mcc_feature(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *value)
|
||||
{
|
||||
return wlan_mlme_get_mcc_feature(psoc, value);
|
||||
}
|
||||
#endif /* _WLAN_MLME_UCFG_API_H_ */
|
||||
|
|
|
|||
|
|
@ -2140,6 +2140,91 @@ QDF_STATUS wlan_mlme_set_enable_bcast_probe_rsp(struct wlan_objmgr_psoc *psoc,
|
|||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_sta_miracast_mcc_rest_time(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) {
|
||||
mlme_err("Failed to get MLME Obj");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
*value = mlme_obj->cfg.sta.sta_miracast_mcc_rest_time;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_sap_mcc_chnl_avoid(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *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_mcc_chnl_avoid;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_mcc_bcast_prob_resp(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *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.feature_flags.mcc_bcast_prob_rsp;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_mcc_rts_cts_prot(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *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.feature_flags.mcc_rts_cts_prot;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
wlan_mlme_get_mcc_feature(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *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.feature_flags.enable_mcc;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS wlan_mlme_get_edca_params(struct wlan_mlme_edca_params *edca_params,
|
||||
uint8_t *data, enum e_edca_type edca_ac)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -371,28 +371,6 @@ enum hdd_wext_control {
|
|||
#define CFG_ENABLE_RUNTIME_PM_ALL
|
||||
#endif
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gEnableMCCMode - Enable/Disable MCC feature.
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 1
|
||||
*
|
||||
* This ini is used to enable/disable MCC feature.
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: Concurrency
|
||||
*
|
||||
* Usage: Internal
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_ENABLE_MCC_ENABLED CFG_INI_BOOL( \
|
||||
"gEnableMCCMode", \
|
||||
1, \
|
||||
"Enable/Disable MCC feature")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gInformBssRssiRaw - Report rssi in cfg80211_inform_bss_frame
|
||||
|
|
@ -1017,7 +995,6 @@ enum hdd_wext_control {
|
|||
CFG(CFG_ENABLE_ACTION_OUI) \
|
||||
CFG(CFG_ENABLE_FW_LOG) \
|
||||
CFG(CFG_ENABLE_FW_UART_PRINT) \
|
||||
CFG(CFG_ENABLE_MCC_ENABLED) \
|
||||
CFG(CFG_ENABLE_RAMDUMP_COLLECTION) \
|
||||
CFG(CFG_INTERFACE_CHANGE_WAIT) \
|
||||
CFG(CFG_INFORM_BSS_RSSI_RAW) \
|
||||
|
|
|
|||
|
|
@ -1710,53 +1710,6 @@ enum hdd_dot11_mode {
|
|||
/* Not to use CFG default because if no registry setting, this is ignored by SME. */
|
||||
#define CFG_MAX_TX_POWER_DEFAULT WNI_CFG_CURRENT_TX_POWER_LEVEL_STAMAX
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gFWMccRtsCtsProtection - RTS-CTS protection in MCC.
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 0
|
||||
*
|
||||
* This ini is used to enable/disable use of long duration RTS-CTS protection
|
||||
* when SAP goes off channel in MCC mode.
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: Concurrency
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
|
||||
#define CFG_FW_MCC_RTS_CTS_PROT_NAME "gFWMccRtsCtsProtection"
|
||||
#define CFG_FW_MCC_RTS_CTS_PROT_MIN (0)
|
||||
#define CFG_FW_MCC_RTS_CTS_PROT_MAX (1)
|
||||
#define CFG_FW_MCC_RTS_CTS_PROT_DEFAULT (0)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gFWMccBCastProbeResponse - Broadcast Probe Response in MCC.
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 0
|
||||
*
|
||||
* This ini is used to enable/disable use of broadcast probe response to
|
||||
* increase the detectability of SAP in MCC mode.
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: Concurrency
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_FW_MCC_BCAST_PROB_RESP_NAME "gFWMccBCastProbeResponse"
|
||||
#define CFG_FW_MCC_BCAST_PROB_RESP_MIN (0)
|
||||
#define CFG_FW_MCC_BCAST_PROB_RESP_MAX (1)
|
||||
#define CFG_FW_MCC_BCAST_PROB_RESP_DEFAULT (0)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* g_wow_data_inactivity_timeout - Data activity timeout in wow mode.
|
||||
|
|
@ -2500,53 +2453,6 @@ enum hdd_link_speed_rpt_type {
|
|||
#define CFG_ENABLE_MAC_ADDR_SPOOFING_MAX (1)
|
||||
#define CFG_ENABLE_MAC_ADDR_SPOOFING_DEFAULT (1)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gStaMiracastMccRestTimeVal - Rest time when Miracast is running.
|
||||
* @Min: 100
|
||||
* @Max: 500
|
||||
* @Default: 400
|
||||
*
|
||||
* This ini is used to set rest time for home channel for Miracast before
|
||||
* going for scan.
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: Concurrency
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_STA_MIRACAST_MCC_REST_TIME_VAL "gStaMiracastMccRestTimeVal"
|
||||
#define CFG_STA_MIRACAST_MCC_REST_TIME_VAL_MIN (100)
|
||||
#define CFG_STA_MIRACAST_MCC_REST_TIME_VAL_MAX (500)
|
||||
#define CFG_STA_MIRACAST_MCC_REST_TIME_VAL_DEFAULT (400)
|
||||
|
||||
#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
|
||||
/*
|
||||
* <ini>
|
||||
* gSapChannelAvoidance - SAP MCC channel avoidance.
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 0
|
||||
*
|
||||
* This ini is used to sets sap mcc channel avoidance.
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: Concurrency
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_SAP_MCC_CHANNEL_AVOIDANCE_NAME "gSapChannelAvoidance"
|
||||
#define CFG_SAP_MCC_CHANNEL_AVOIDANCE_MIN (0)
|
||||
#define CFG_SAP_MCC_CHANNEL_AVOIDANCE_MAX (1)
|
||||
#define CFG_SAP_MCC_CHANNEL_AVOIDANCE_DEFAULT (0)
|
||||
#endif /* FEATURE_AP_MCC_CH_AVOIDANCE */
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gSAP11ACOverride - Override bw to 11ac for SAP in driver even if supplicant
|
||||
|
|
@ -3988,8 +3894,6 @@ struct hdd_config {
|
|||
|
||||
uint8_t nRssiFilterPeriod;
|
||||
|
||||
bool mcc_rts_cts_prot_enable;
|
||||
bool mcc_bcast_prob_resp_enable;
|
||||
uint8_t wow_data_inactivity_timeout;
|
||||
|
||||
uint32_t DelayedTriggerFrmInt;
|
||||
|
|
@ -4078,10 +3982,6 @@ struct hdd_config {
|
|||
uint8_t dhcpServerIP[IPADDR_STRING_LENGTH];
|
||||
#endif /* DHCP_SERVER_OFFLOAD */
|
||||
bool enable_mac_spoofing;
|
||||
uint32_t sta_miracast_mcc_rest_time_val;
|
||||
#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
|
||||
bool sap_channel_avoidance;
|
||||
#endif /* FEATURE_AP_MCC_CH_AVOIDANCE */
|
||||
uint8_t sap_11ac_override;
|
||||
uint8_t go_11ac_override;
|
||||
uint8_t max_scan_count;
|
||||
|
|
@ -4263,7 +4163,6 @@ struct hdd_config {
|
|||
#ifdef FEATURE_RUNTIME_PM
|
||||
bool runtime_pm;
|
||||
#endif
|
||||
uint8_t enableMCC;
|
||||
uint8_t inform_bss_rssi_raw;
|
||||
struct qdf_mac_addr intfMacAddr[QDF_MAX_CONCURRENCY_PERSONA];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -238,20 +238,6 @@ struct reg_table_entry g_registry_table[] = {
|
|||
CFG_MAX_TX_POWER_MIN,
|
||||
CFG_MAX_TX_POWER_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_FW_MCC_RTS_CTS_PROT_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, mcc_rts_cts_prot_enable,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_FW_MCC_RTS_CTS_PROT_DEFAULT,
|
||||
CFG_FW_MCC_RTS_CTS_PROT_MIN,
|
||||
CFG_FW_MCC_RTS_CTS_PROT_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_FW_MCC_BCAST_PROB_RESP_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, mcc_bcast_prob_resp_enable,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_FW_MCC_BCAST_PROB_RESP_DEFAULT,
|
||||
CFG_FW_MCC_BCAST_PROB_RESP_MIN,
|
||||
CFG_FW_MCC_BCAST_PROB_RESP_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_WOW_DATA_INACTIVITY_TIMEOUT_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, wow_data_inactivity_timeout,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
|
|
@ -578,24 +564,6 @@ struct reg_table_entry g_registry_table[] = {
|
|||
CFG_ENABLE_MAC_ADDR_SPOOFING_MIN,
|
||||
CFG_ENABLE_MAC_ADDR_SPOOFING_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_STA_MIRACAST_MCC_REST_TIME_VAL, WLAN_PARAM_Integer,
|
||||
struct hdd_config, sta_miracast_mcc_rest_time_val,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_STA_MIRACAST_MCC_REST_TIME_VAL_DEFAULT,
|
||||
CFG_STA_MIRACAST_MCC_REST_TIME_VAL_MIN,
|
||||
CFG_STA_MIRACAST_MCC_REST_TIME_VAL_MAX),
|
||||
|
||||
#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
|
||||
REG_VARIABLE(CFG_SAP_MCC_CHANNEL_AVOIDANCE_NAME,
|
||||
WLAN_PARAM_Integer,
|
||||
struct hdd_config,
|
||||
sap_channel_avoidance,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
|
||||
CFG_SAP_MCC_CHANNEL_AVOIDANCE_DEFAULT,
|
||||
CFG_SAP_MCC_CHANNEL_AVOIDANCE_MIN,
|
||||
CFG_SAP_MCC_CHANNEL_AVOIDANCE_MAX),
|
||||
#endif /* FEATURE_AP_MCC_CH_AVOIDANCE */
|
||||
|
||||
REG_VARIABLE(CFG_SAP_11AC_OVERRIDE_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, sap_11ac_override,
|
||||
VAR_FLAGS_OPTIONAL |
|
||||
|
|
@ -2561,6 +2529,88 @@ QDF_STATUS hdd_set_sme_cfgs_related_to_plcy_mgr(struct hdd_context *hdd_ctx,
|
|||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
|
||||
static QDF_STATUS hdd_set_sap_mcc_chnl_avoid(tSmeConfigParams *sme_cfg,
|
||||
uint8_t val)
|
||||
{
|
||||
sme_cfg->csrConfig.sap_channel_avoidance = val;
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
#else
|
||||
static QDF_STATUS hdd_set_sap_mcc_chnl_avoid(tSmeConfigParams *sme_cfg,
|
||||
uint8_t val)
|
||||
{
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
#endif
|
||||
|
||||
static
|
||||
QDF_STATUS hdd_set_sme_cfgs_related_to_mlme(struct hdd_context *hdd_ctx,
|
||||
tSmeConfigParams *sme_cfg)
|
||||
{
|
||||
QDF_STATUS status;
|
||||
uint8_t wmm_mode = 0, enable_mcc = 0, sap_mcc_avoid = 0;
|
||||
uint8_t mcc_rts_cts = 0, mcc_bcast_prob_rsp = 0;
|
||||
uint32_t mcast_mcc_rest_time = 0;
|
||||
bool b80211e_enabled = 0;
|
||||
|
||||
status = ucfg_mlme_get_80211e_is_enabled(hdd_ctx->psoc,
|
||||
&b80211e_enabled);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("Get b80211e_enabled failed");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
sme_cfg->csrConfig.Is11eSupportEnabled = b80211e_enabled;
|
||||
|
||||
status = ucfg_mlme_get_wmm_mode(hdd_ctx->psoc, &wmm_mode);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("Get wmm_mode failed");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
sme_cfg->csrConfig.WMMSupportMode = hdd_to_csr_wmm_mode(wmm_mode);
|
||||
hdd_debug("wmm_mode=%d 802_11e_enabled=%d", wmm_mode, b80211e_enabled);
|
||||
|
||||
status = ucfg_mlme_get_mcc_feature(hdd_ctx->psoc, &enable_mcc);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("ucfg_mlme_get_mcc_feature fail, use def");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
sme_cfg->csrConfig.fEnableMCCMode = enable_mcc;
|
||||
|
||||
status = ucfg_mlme_get_mcc_rts_cts_prot(hdd_ctx->psoc, &mcc_rts_cts);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("ucfg_mlme_get_mcc_rts_cts_prot fail, use def");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
sme_cfg->csrConfig.mcc_rts_cts_prot_enable = mcc_rts_cts;
|
||||
|
||||
status = ucfg_mlme_get_mcc_bcast_prob_resp(hdd_ctx->psoc,
|
||||
&mcc_bcast_prob_rsp);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("ucfg_mlme_get_mcc_bcast_prob_resp fail, use def");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
sme_cfg->csrConfig.mcc_bcast_prob_resp_enable = mcc_bcast_prob_rsp;
|
||||
|
||||
status = ucfg_mlme_get_sta_miracast_mcc_rest_time(hdd_ctx->psoc,
|
||||
&mcast_mcc_rest_time);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("ucfg_mlme_get_sta_miracast_mcc_rest_time, use def");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
sme_cfg->csrConfig.f_sta_miracast_mcc_rest_time_val =
|
||||
mcast_mcc_rest_time;
|
||||
status = ucfg_mlme_get_sap_mcc_chnl_avoid(hdd_ctx->psoc,
|
||||
&sap_mcc_avoid);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("ucfg_mlme_get_sap_mcc_chnl_avoid, use def");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
status = hdd_set_sap_mcc_chnl_avoid(sme_cfg, sap_mcc_avoid);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
/**
|
||||
* hdd_set_sme_config() -initializes the sme configuration parameters
|
||||
*
|
||||
|
|
@ -2575,8 +2625,6 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
|
|||
tSmeConfigParams *smeConfig;
|
||||
uint8_t rrm_capab_len;
|
||||
mac_handle_t mac_handle = hdd_ctx->mac_handle;
|
||||
uint8_t wmm_mode = 0;
|
||||
bool b80211e_is_enabled;
|
||||
bool roam_scan_enabled;
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
bool ese_enabled;
|
||||
|
|
@ -2626,26 +2674,6 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
|
|||
smeConfig->csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
|
||||
smeConfig->csrConfig.min_rest_time_conc = pConfig->min_rest_time_conc;
|
||||
smeConfig->csrConfig.idle_time_conc = pConfig->idle_time_conc;
|
||||
|
||||
status = ucfg_mlme_get_80211e_is_enabled(hdd_ctx->psoc,
|
||||
&b80211e_is_enabled);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("Get b80211e_is_enabled failed");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
smeConfig->csrConfig.Is11eSupportEnabled = b80211e_is_enabled;
|
||||
|
||||
status = ucfg_mlme_get_wmm_mode(hdd_ctx->psoc, &wmm_mode);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("Get wmm_mode failed");
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
smeConfig->csrConfig.WMMSupportMode = hdd_to_csr_wmm_mode(wmm_mode);
|
||||
|
||||
hdd_debug("%s bWmmIsEnabled=%d 802_11e_enabled=%d dot11Mode=%d",
|
||||
__func__, wmm_mode, b80211e_is_enabled,
|
||||
pConfig->dot11Mode);
|
||||
|
||||
smeConfig->rrmConfig.rrm_enabled = pConfig->fRrmEnable;
|
||||
smeConfig->rrmConfig.max_randn_interval = pConfig->nRrmRandnIntvl;
|
||||
hdd_hex_string_to_u8_array(pConfig->rm_capability,
|
||||
|
|
@ -2687,12 +2715,6 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
|
|||
hdd_ctx->psoc, false);
|
||||
}
|
||||
|
||||
/* Enable/Disable MCC */
|
||||
smeConfig->csrConfig.fEnableMCCMode = pConfig->enableMCC;
|
||||
smeConfig->csrConfig.mcc_rts_cts_prot_enable =
|
||||
pConfig->mcc_rts_cts_prot_enable;
|
||||
smeConfig->csrConfig.mcc_bcast_prob_resp_enable =
|
||||
pConfig->mcc_bcast_prob_resp_enable;
|
||||
/* Scan Results Aging Time out value */
|
||||
smeConfig->csrConfig.scanCfgAgingTime = pConfig->scanAgingTimeout;
|
||||
|
||||
|
|
@ -2702,14 +2724,6 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
|
|||
/* Update maximum interfaces information */
|
||||
smeConfig->csrConfig.max_intf_count = hdd_ctx->max_intf_count;
|
||||
|
||||
smeConfig->csrConfig.f_sta_miracast_mcc_rest_time_val =
|
||||
hdd_ctx->config->sta_miracast_mcc_rest_time_val;
|
||||
|
||||
#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
|
||||
smeConfig->csrConfig.sap_channel_avoidance =
|
||||
hdd_ctx->config->sap_channel_avoidance;
|
||||
#endif /* FEATURE_AP_MCC_CH_AVOIDANCE */
|
||||
|
||||
smeConfig->csrConfig.is_ps_enabled = hdd_ctx->config->is_ps_enabled;
|
||||
smeConfig->csrConfig.auto_bmps_timer_val =
|
||||
hdd_ctx->config->auto_bmps_timer_val;
|
||||
|
|
@ -2755,10 +2769,17 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
|
|||
hdd_ctx->config->wlm_latency_flags_low;
|
||||
smeConfig->csrConfig.wlm_latency_flags[3] =
|
||||
hdd_ctx->config->wlm_latency_flags_ultralow;
|
||||
hdd_set_sme_cfgs_related_to_plcy_mgr(hdd_ctx, smeConfig);
|
||||
status = hdd_set_sme_cfgs_related_to_mlme(hdd_ctx, smeConfig);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status))
|
||||
hdd_err("hdd_set_sme_cfgs_related_to_mlme() fail: %d", status);
|
||||
status = hdd_set_sme_cfgs_related_to_plcy_mgr(hdd_ctx, smeConfig);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status))
|
||||
hdd_err("hdd_set_sme_cfgs_related_to_plcy_mgr fail: %d",
|
||||
status);
|
||||
hdd_update_11k_offload_params(hdd_ctx->config,
|
||||
&smeConfig->csrConfig);
|
||||
|
||||
hdd_debug("dot11Mode=%d", pConfig->dot11Mode);
|
||||
status = sme_update_config(mac_handle, smeConfig);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status))
|
||||
hdd_err("sme_update_config() failure: %d", status);
|
||||
|
|
|
|||
|
|
@ -12273,7 +12273,7 @@ int wlan_hdd_cfg80211_init(struct device *dev,
|
|||
int len_5g_ch = 0, num_ch, ch_arr_size;
|
||||
int num_dsrc_ch, len_dsrc_ch, num_srd_ch, len_srd_ch;
|
||||
uint32_t *cipher_suites;
|
||||
uint8_t allow_mcc_go_diff_bi = 0;
|
||||
uint8_t allow_mcc_go_diff_bi = 0, enable_mcc = 0;
|
||||
|
||||
hdd_enter();
|
||||
|
||||
|
|
@ -12334,8 +12334,11 @@ int wlan_hdd_cfg80211_init(struct device *dev,
|
|||
ucfg_policy_mgr_get_allow_mcc_go_diff_bi(hdd_ctx->psoc,
|
||||
&allow_mcc_go_diff_bi))
|
||||
hdd_err("can't get mcc_go_diff_bi value, use default");
|
||||
if (QDF_STATUS_SUCCESS !=
|
||||
ucfg_mlme_get_mcc_feature(hdd_ctx->psoc, &enable_mcc))
|
||||
hdd_err("can't get enable_mcc value, use default");
|
||||
if (pCfg->advertiseConcurrentOperation) {
|
||||
if (pCfg->enableMCC) {
|
||||
if (enable_mcc) {
|
||||
int i;
|
||||
|
||||
for (i = 0;
|
||||
|
|
|
|||
|
|
@ -4599,6 +4599,23 @@ hdd_set_vdev_crypto_prarams_from_ie(struct wlan_objmgr_vdev *vdev,
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
|
||||
static void wlan_hdd_set_sap_mcc_chnl_avoid(struct hdd_context *hdd_ctx)
|
||||
{
|
||||
uint8_t sap_mcc_avoid = 0;
|
||||
|
||||
status = ucfg_mlme_get_sap_mcc_chnl_avoid(hdd_ctx->psoc,
|
||||
&sap_mcc_avoid);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status))
|
||||
hdd_err("can't get sap mcc chnl avoid, use def");
|
||||
wlan_sap_set_channel_avoidance(hdd_ctx->mac_handle, sap_mcc_avoid);
|
||||
}
|
||||
#else
|
||||
static void wlan_hdd_set_sap_mcc_chnl_avoid(struct hdd_context *hdd_ctx)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* wlan_hdd_cfg80211_start_bss() - start bss
|
||||
* @adapter: Pointer to hostapd adapter
|
||||
|
|
@ -4917,10 +4934,7 @@ int wlan_hdd_cfg80211_start_bss(struct hdd_adapter *adapter,
|
|||
&pref_chan_location);
|
||||
wlansap_set_dfs_preferred_channel_location(mac_handle,
|
||||
pref_chan_location);
|
||||
#ifdef FEATURE_AP_MCC_CH_AVOIDANCE
|
||||
wlan_sap_set_channel_avoidance(mac_handle,
|
||||
iniConfig->sap_channel_avoidance);
|
||||
#endif
|
||||
wlan_hdd_set_sap_mcc_chnl_avoid(hdd_ctx);
|
||||
} else if (adapter->device_mode == QDF_P2P_GO_MODE) {
|
||||
pConfig->countryCode[0] = hdd_ctx->reg.alpha2[0];
|
||||
pConfig->countryCode[1] = hdd_ctx->reg.alpha2[1];
|
||||
|
|
|
|||
|
|
@ -9383,7 +9383,6 @@ static void hdd_cfg_params_init(struct hdd_context *hdd_ctx)
|
|||
qdf_str_lcopy(config->dbs_scan_selection,
|
||||
cfg_get(psoc, CFG_DBS_SCAN_SELECTION),
|
||||
CFG_DBS_SCAN_PARAM_LENGTH);
|
||||
config->enableMCC = cfg_get(psoc, CFG_ENABLE_MCC_ENABLED);
|
||||
config->inform_bss_rssi_raw = cfg_get(psoc, CFG_INFORM_BSS_RSSI_RAW);
|
||||
config->intfMacAddr[0] = cfg_get(psoc, CFG_INTF0_MAC_ADDR);
|
||||
config->intfMacAddr[1] = cfg_get(psoc, CFG_INTF1_MAC_ADDR);
|
||||
|
|
@ -14371,6 +14370,7 @@ static int hdd_update_scan_config(struct hdd_context *hdd_ctx)
|
|||
uint8_t scan_bucket_thre;
|
||||
uint8_t select_5ghz_margin;
|
||||
bool roam_prefer_5ghz;
|
||||
uint32_t mcast_mcc_rest_time = 0;
|
||||
|
||||
status = ucfg_mlme_get_select_5ghz_margin(hdd_ctx->psoc,
|
||||
&select_5ghz_margin);
|
||||
|
|
@ -14402,8 +14402,13 @@ static int hdd_update_scan_config(struct hdd_context *hdd_ctx)
|
|||
scan_cfg.usr_cfg_num_probes = cfg->scan_num_probes;
|
||||
scan_cfg.is_bssid_hint_priority = cfg->is_bssid_hint_priority;
|
||||
scan_cfg.enable_mac_spoofing = cfg->enable_mac_spoofing;
|
||||
scan_cfg.sta_miracast_mcc_rest_time =
|
||||
cfg->sta_miracast_mcc_rest_time_val;
|
||||
status = ucfg_mlme_get_sta_miracast_mcc_rest_time(hdd_ctx->psoc,
|
||||
&mcast_mcc_rest_time);
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
hdd_err("ucfg_mlme_get_sta_miracast_mcc_rest_time, use def");
|
||||
return -EIO;
|
||||
}
|
||||
scan_cfg.sta_miracast_mcc_rest_time = mcast_mcc_rest_time;
|
||||
hdd_update_pno_config(&scan_cfg.pno_cfg, hdd_ctx);
|
||||
hdd_update_ie_whitelist_attr(&scan_cfg.ie_whitelist, hdd_ctx);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue