qcacld-3.0: Add support to disable concurrency

Add feature flag to disable concurrency

1. STA+P2P+P2P
2. STA+SAP+P2P
3. SAP+P2P
4. P2P+P2P
5. SAP+NAN
6. STA+SAP
7. STA+NAN

Change-Id: Ibbdfa866e5cdefc036ea7f401997a8ab71e0629b
CRs-Fixed: 3345359
This commit is contained in:
Vinod Kumar Myadam
2022-11-24 14:17:47 +05:30
committed by Madan Koyyalamudi
parent 41604b3685
commit 096eb8ce07
3 changed files with 23 additions and 0 deletions

4
Kbuild
View File

@@ -4115,6 +4115,10 @@ cppflags-$(CONFIG_FEATURE_STATS_EXT_V2) += -DFEATURE_STATS_EXT_V2
cppflags-$(CONFIG_WLAN_FEATURE_CAL_FAILURE_TRIGGER) += -DWLAN_FEATURE_CAL_FAILURE_TRIGGER cppflags-$(CONFIG_WLAN_FEATURE_CAL_FAILURE_TRIGGER) += -DWLAN_FEATURE_CAL_FAILURE_TRIGGER
cppflags-$(CONFIG_WLAN_FEATURE_DYNAMIC_MAC_ADDR_UPDATE) += -DWLAN_FEATURE_DYNAMIC_MAC_ADDR_UPDATE cppflags-$(CONFIG_WLAN_FEATURE_DYNAMIC_MAC_ADDR_UPDATE) += -DWLAN_FEATURE_DYNAMIC_MAC_ADDR_UPDATE
cppflags-$(CONFIG_WLAN_FEATURE_SAP_ACS_OPTIMIZE) += -DWLAN_FEATURE_SAP_ACS_OPTIMIZE cppflags-$(CONFIG_WLAN_FEATURE_SAP_ACS_OPTIMIZE) += -DWLAN_FEATURE_SAP_ACS_OPTIMIZE
cppflags-$(CONFIG_WLAN_FEATURE_NO_STA_SAP_CONCURRENCY) += -DWLAN_FEATURE_NO_STA_SAP_CONCURRENCY
cppflags-$(CONFIG_WLAN_FEATURE_NO_STA_NAN_CONCURRENCY) += -DWLAN_FEATURE_NO_STA_NAN_CONCURRENCY
cppflags-$(CONFIG_WLAN_FEATURE_NO_P2P_CONCURRENCY) += -DWLAN_FEATURE_NO_P2P_CONCURRENCY
cppflags-$(CONFIG_WLAN_FEATURE_NO_SAP_NAN_CONCURRENCY) += -DWLAN_FEATURE_NO_SAP_NAN_CONCURRENCY
cppflags-$(CONFIG_VERBOSE_DEBUG) += -DENABLE_VERBOSE_DEBUG cppflags-$(CONFIG_VERBOSE_DEBUG) += -DENABLE_VERBOSE_DEBUG
cppflags-$(CONFIG_RX_DESC_DEBUG_CHECK) += -DRX_DESC_DEBUG_CHECK cppflags-$(CONFIG_RX_DESC_DEBUG_CHECK) += -DRX_DESC_DEBUG_CHECK

View File

@@ -1586,6 +1586,11 @@ CONFIG_QCACLD_WLAN_CONNECTIVITY_DIAG_EVENT := y
CONFIG_WLAN_FEATURE_CAL_FAILURE_TRIGGER := y CONFIG_WLAN_FEATURE_CAL_FAILURE_TRIGGER := y
CONFIG_WLAN_FEATURE_NO_STA_SAP_CONCURRENCY := n
CONFIG_WLAN_FEATURE_NO_STA_NAN_CONCURRENCY := n
CONFIG_WLAN_FEATURE_NO_SAP_NAN_CONCURRENCY := n
CONFIG_WLAN_FEATURE_NO_P2P_CONCURRENCY := n
ifeq ($(CONFIG_CNSS_QCA6490), y) ifeq ($(CONFIG_CNSS_QCA6490), y)
CONFIG_FEATURE_WLAN_CH_AVOID_EXT := y CONFIG_FEATURE_WLAN_CH_AVOID_EXT := y
endif endif

View File

@@ -672,10 +672,12 @@ wlan_hdd_sta_ap_p2p_iface_limit[] = {
.max = 1, .max = 1,
.types = BIT(NL80211_IFTYPE_P2P_GO) | BIT(NL80211_IFTYPE_P2P_CLIENT) .types = BIT(NL80211_IFTYPE_P2P_GO) | BIT(NL80211_IFTYPE_P2P_CLIENT)
}, },
#ifndef WLAN_FEATURE_NO_STA_SAP_CONCURRENCY
{ {
.max = 1, .max = 1,
.types = BIT(NL80211_IFTYPE_AP) .types = BIT(NL80211_IFTYPE_AP)
}, },
#endif /* WLAN_FEATURE_NO_STA_SAP_CONCURRENCY */
}; };
/* SAP + P2P combination */ /* SAP + P2P combination */
@@ -708,6 +710,7 @@ wlan_hdd_p2p_p2p_iface_limit[] = {
}; };
#endif #endif
#ifndef WLAN_FEATURE_NO_STA_SAP_CONCURRENCY
/* STA + AP combination */ /* STA + AP combination */
static const struct ieee80211_iface_limit static const struct ieee80211_iface_limit
wlan_hdd_sta_ap_iface_limit[] = { wlan_hdd_sta_ap_iface_limit[] = {
@@ -720,6 +723,7 @@ wlan_hdd_sta_ap_iface_limit[] = {
.types = BIT(NL80211_IFTYPE_AP) .types = BIT(NL80211_IFTYPE_AP)
}, },
}; };
#endif /* WLAN_FEATURE_NO_STA_SAP_CONCURRENCY */
/* STA + P2P combination */ /* STA + P2P combination */
static const struct ieee80211_iface_limit static const struct ieee80211_iface_limit
@@ -746,6 +750,7 @@ static const struct ieee80211_iface_limit
#if defined(WLAN_FEATURE_NAN) && \ #if defined(WLAN_FEATURE_NAN) && \
(LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)) (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0))
#ifndef WLAN_FEATURE_NO_STA_NAN_CONCURRENCY
/* STA + NAN disc combination */ /* STA + NAN disc combination */
static const struct ieee80211_iface_limit static const struct ieee80211_iface_limit
wlan_hdd_sta_nan_iface_limit[] = { wlan_hdd_sta_nan_iface_limit[] = {
@@ -760,6 +765,7 @@ static const struct ieee80211_iface_limit
.types = BIT(NL80211_IFTYPE_NAN), .types = BIT(NL80211_IFTYPE_NAN),
}, },
}; };
#endif /* WLAN_FEATURE_NO_STA_NAN_CONCURRENCY */
#ifndef WLAN_FEATURE_NO_SAP_NAN_CONCURRENCY #ifndef WLAN_FEATURE_NO_SAP_NAN_CONCURRENCY
/* SAP + NAN disc combination */ /* SAP + NAN disc combination */
@@ -822,7 +828,11 @@ static struct ieee80211_iface_combination
* but due to firmware limitation, allow max 2 concrnt channels. * but due to firmware limitation, allow max 2 concrnt channels.
*/ */
.num_different_channels = 2, .num_different_channels = 2,
#ifndef WLAN_FEATURE_NO_STA_SAP_CONCURRENCY
.max_interfaces = 3, .max_interfaces = 3,
#else
.max_interfaces = 2,
#endif /* WLAN_FEATURE_NO_STA_SAP_CONCURRENCY */
.n_limits = ARRAY_SIZE(wlan_hdd_sta_ap_p2p_iface_limit), .n_limits = ARRAY_SIZE(wlan_hdd_sta_ap_p2p_iface_limit),
.beacon_int_infra_match = true, .beacon_int_infra_match = true,
}, },
@@ -853,6 +863,7 @@ static struct ieee80211_iface_combination
.n_limits = ARRAY_SIZE(wlan_hdd_sta_p2p_iface_limit), .n_limits = ARRAY_SIZE(wlan_hdd_sta_p2p_iface_limit),
.beacon_int_infra_match = true, .beacon_int_infra_match = true,
}, },
#ifndef WLAN_FEATURE_NO_STA_SAP_CONCURRENCY
/* STA + SAP */ /* STA + SAP */
{ {
.limits = wlan_hdd_sta_ap_iface_limit, .limits = wlan_hdd_sta_ap_iface_limit,
@@ -861,6 +872,7 @@ static struct ieee80211_iface_combination
.n_limits = ARRAY_SIZE(wlan_hdd_sta_ap_iface_limit), .n_limits = ARRAY_SIZE(wlan_hdd_sta_ap_iface_limit),
.beacon_int_infra_match = true, .beacon_int_infra_match = true,
}, },
#endif /* WLAN_FEATURE_NO_STA_SAP_CONCURRENCY */
/* Monitor */ /* Monitor */
{ {
.limits = wlan_hdd_mon_iface_limit, .limits = wlan_hdd_mon_iface_limit,
@@ -870,6 +882,7 @@ static struct ieee80211_iface_combination
}, },
#if defined(WLAN_FEATURE_NAN) && \ #if defined(WLAN_FEATURE_NAN) && \
(LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)) (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0))
#ifndef WLAN_FEATURE_NO_STA_NAN_CONCURRENCY
/* NAN + STA */ /* NAN + STA */
{ {
.limits = wlan_hdd_sta_nan_iface_limit, .limits = wlan_hdd_sta_nan_iface_limit,
@@ -877,6 +890,7 @@ static struct ieee80211_iface_combination
.num_different_channels = 2, .num_different_channels = 2,
.n_limits = ARRAY_SIZE(wlan_hdd_sta_nan_iface_limit), .n_limits = ARRAY_SIZE(wlan_hdd_sta_nan_iface_limit),
}, },
#endif /* WLAN_FEATURE_NO_STA_NAN_CONCURRENCY */
#ifndef WLAN_FEATURE_NO_SAP_NAN_CONCURRENCY #ifndef WLAN_FEATURE_NO_SAP_NAN_CONCURRENCY
/* NAN + SAP */ /* NAN + SAP */
{ {