qcacld-3.0: enable legacy coex feature

Because newest firmware codes already been changed, the previous
coex configure command are invalid. Firmware need host driver
to enable WMI_SERVICE_THREE_WAY_COEX_CONFIG_LEGACY service during
wlan init. Add a new parameter "gThreeWayCoexConfigLegacyEnable" to
initial config file. If this parameter value is zero,set coex
priorities command will return error.

Change-Id: Ief1617e2ba5363e276c55135198613a0e54b71d5
CRs-Fixed: 2482734
This commit is contained in:
guangde
2019-07-02 15:51:15 +08:00
committed by nshrivas
부모 c6fe55711e
커밋 3fa3701975
3개의 변경된 파일65개의 추가작업 그리고 2개의 파일을 삭제

파일 보기

@@ -62,6 +62,8 @@
* @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
* @btc_three_way_coex_config_legacy_enable: Enable/Disable tri-radio coex
* config legacy feature
*/
struct wlan_fwol_coex_config {
uint8_t btc_mode;
@@ -79,6 +81,9 @@ struct wlan_fwol_coex_config {
bool btc_mpta_helper_enable;
#endif
bool bt_sco_allow_wlan_2g_scan;
#ifdef FEATURE_COEX_CONFIG
bool btc_three_way_coex_config_legacy_enable;
#endif
};
#define FWOL_THERMAL_LEVEL_MAX 4

파일 보기

@@ -52,6 +52,32 @@ fwol_mpta_helper_config_get(struct wlan_objmgr_psoc *psoc,
}
#endif
/**
* fwol_three_way_coex_config_legacy_config_get: Populate
* btc_three_way_coex_config_legacy_enable from cfg
* @psoc: The global psoc handler
* @coex_config: The cfg structure
*
* Return: none
*/
#ifdef FEATURE_COEX_CONFIG
static void
fwol_three_way_coex_config_legacy_config_get(
struct wlan_objmgr_psoc *psoc,
struct wlan_fwol_coex_config *coex_config)
{
coex_config->btc_three_way_coex_config_legacy_enable =
cfg_get(psoc, CFG_THREE_WAY_COEX_CONFIG_LEGACY);
}
#else
static void
fwol_three_way_coex_config_legacy_config_get(
struct wlan_objmgr_psoc *psoc,
struct wlan_fwol_coex_config *coex_config)
{
}
#endif
static void
fwol_init_coex_config_in_cfg(struct wlan_objmgr_psoc *psoc,
struct wlan_fwol_coex_config *coex_config)
@@ -79,6 +105,7 @@ fwol_init_coex_config_in_cfg(struct wlan_objmgr_psoc *psoc,
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);
fwol_three_way_coex_config_legacy_config_get(psoc, coex_config);
}
static void

파일 보기

@@ -273,7 +273,6 @@
* This ini is used to enable or disable wlan 2g scan
* when BT SCO connection is on.
*
*
* Usage: External
*
* </ini>
@@ -283,6 +282,37 @@
1, \
"Bt Sco Allow Wlan 2G Scan")
#ifdef FEATURE_COEX_CONFIG
/*
* <ini>
* gThreeWayCoexConfigLegacyEnable - Enable coex config legacy feature
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to enable or disable three way coex config legacy feature.
* This feature is designed only for non-mobile solution.
* When the feature is disabled, Firmware use the default configuration to
* set the coex priority of three antenna(WLAN, BT, ZIGBEE).
* when enable this feature, customer can use the vendor command to set antenna
* coex priority dynamically.
*
* Supported Feature: three way coex config
*
* Usage: External
*
* </ini>
*/
#define CFG_THREE_WAY_COEX_CONFIG_LEGACY CFG_INI_BOOL( \
"gThreeWayCoexConfigLegacyEnable", \
0, \
"Enable/Disable COEX Config Legacy")
#define THREE_WAY_COEX_CONFIG_LEGACY_CFG CFG(CFG_THREE_WAY_COEX_CONFIG_LEGACY)
#else
#define THREE_WAY_COEX_CONFIG_LEGACY_CFG
#endif
#define CFG_COEX_ALL \
CFG(CFG_BTC_MODE) \
CFG(CFG_ANTENNA_ISOLATION) \
@@ -296,5 +326,6 @@
CFG(CFG_BT_INTERFERENCE_HIGH_LL) \
CFG(CFG_BT_INTERFERENCE_HIGH_UL) \
COEX_MPTA_HELPER_CFG \
CFG(CFG_BT_SCO_ALLOW_WLAN_2G_SCAN)
CFG(CFG_BT_SCO_ALLOW_WLAN_2G_SCAN) \
THREE_WAY_COEX_CONFIG_LEGACY_CFG
#endif