qcacld-3.0: Add ini to support BT SCO-WLAN coex
Add ini gBtScoAllowWlan2GScan to support BT SCO-WLAN coex. Using this ini can control whether allow wlan 2g scan or not when BT SCO connection is on. Change-Id: Ia63b1ff92e75937487827c34bca1d2e1c289962d CRs-Fixed: 2464679
This commit is contained in:
@@ -60,6 +60,8 @@
|
||||
* @bt_interference_high_ll: Lower limit of high level BT interference
|
||||
* @bt_interference_high_ul: Upper limit of high level BT interference
|
||||
* @btc_mpta_helper_enable: Enable/Disable tri-radio MPTA helper
|
||||
* @bt_sco_allow_wlan_2g_scan: Enable/Disble wlan 2g scan when
|
||||
* BT SCO connection is on
|
||||
*/
|
||||
struct wlan_fwol_coex_config {
|
||||
uint8_t btc_mode;
|
||||
@@ -76,6 +78,7 @@ struct wlan_fwol_coex_config {
|
||||
#ifdef FEATURE_MPTA_HELPER
|
||||
bool btc_mpta_helper_enable;
|
||||
#endif
|
||||
bool bt_sco_allow_wlan_2g_scan;
|
||||
};
|
||||
|
||||
#define FWOL_THERMAL_LEVEL_MAX 4
|
||||
|
@@ -77,6 +77,8 @@ fwol_init_coex_config_in_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
coex_config->bt_interference_high_ul =
|
||||
cfg_get(psoc, CFG_BT_INTERFERENCE_HIGH_UL);
|
||||
fwol_mpta_helper_config_get(psoc, coex_config);
|
||||
coex_config->bt_sco_allow_wlan_2g_scan =
|
||||
cfg_get(psoc, CFG_BT_SCO_ALLOW_WLAN_2G_SCAN);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@@ -260,6 +260,29 @@
|
||||
#define COEX_MPTA_HELPER_CFG
|
||||
#endif
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gBtScoAllowWlan2GScan - Allow wlan 2g scan when BT SCO connection is on
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 1
|
||||
*
|
||||
* 0 - Disable
|
||||
* 1 - Enable
|
||||
*
|
||||
* This ini is used to enable or disable wlan 2g scan
|
||||
* when BT SCO connection is on.
|
||||
*
|
||||
*
|
||||
* Usage: External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_BT_SCO_ALLOW_WLAN_2G_SCAN CFG_INI_BOOL( \
|
||||
"gBtScoAllowWlan2GScan", \
|
||||
1, \
|
||||
"Bt Sco Allow Wlan 2G Scan")
|
||||
|
||||
#define CFG_COEX_ALL \
|
||||
CFG(CFG_BTC_MODE) \
|
||||
CFG(CFG_ANTENNA_ISOLATION) \
|
||||
@@ -272,5 +295,6 @@
|
||||
CFG(CFG_BT_INTERFERENCE_MEDIUM_UL) \
|
||||
CFG(CFG_BT_INTERFERENCE_HIGH_LL) \
|
||||
CFG(CFG_BT_INTERFERENCE_HIGH_UL) \
|
||||
COEX_MPTA_HELPER_CFG
|
||||
COEX_MPTA_HELPER_CFG \
|
||||
CFG(CFG_BT_SCO_ALLOW_WLAN_2G_SCAN)
|
||||
#endif
|
||||
|
@@ -4801,6 +4801,16 @@ static int hdd_send_coex_config_params(struct hdd_context *hdd_ctx,
|
||||
if (wlan_hdd_mpta_helper_enable(&coex_cfg_params, &config))
|
||||
goto err;
|
||||
|
||||
coex_cfg_params.config_type =
|
||||
WMI_COEX_CONFIG_BT_SCO_ALLOW_WLAN_2G_SCAN;
|
||||
coex_cfg_params.config_arg1 = config.bt_sco_allow_wlan_2g_scan;
|
||||
|
||||
status = sme_send_coex_config_cmd(&coex_cfg_params);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
hdd_err("Failed to send coex BT sco allow wlan 2g scan");
|
||||
goto err;
|
||||
}
|
||||
|
||||
return 0;
|
||||
err:
|
||||
return -EINVAL;
|
||||
|
Reference in New Issue
Block a user