Commit ed25b113 authored by Michal Kazior's avatar Michal Kazior Committed by Kalle Valo

ath10k: tweak interface combinations

Concurrent AP/GO operation on different channels
isn't really supported well by the firmware so
it's better to remove it from being advertised.

Also tune the way station and p2p client interface
limits are expressed to allow station + 2x p2p
client or station + p2p client + p2p go.
Signed-off-by: default avatarMichal Kazior <michal.kazior@tieto.com>
Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent acd0b27b
...@@ -6557,8 +6557,11 @@ static const struct ieee80211_iface_combination ath10k_10x_if_comb[] = { ...@@ -6557,8 +6557,11 @@ static const struct ieee80211_iface_combination ath10k_10x_if_comb[] = {
static const struct ieee80211_iface_limit ath10k_tlv_if_limit[] = { static const struct ieee80211_iface_limit ath10k_tlv_if_limit[] = {
{ {
.max = 2, .max = 2,
.types = BIT(NL80211_IFTYPE_STATION) | .types = BIT(NL80211_IFTYPE_STATION),
BIT(NL80211_IFTYPE_AP) | },
{
.max = 2,
.types = BIT(NL80211_IFTYPE_AP) |
BIT(NL80211_IFTYPE_P2P_CLIENT) | BIT(NL80211_IFTYPE_P2P_CLIENT) |
BIT(NL80211_IFTYPE_P2P_GO), BIT(NL80211_IFTYPE_P2P_GO),
}, },
...@@ -6568,6 +6571,26 @@ static const struct ieee80211_iface_limit ath10k_tlv_if_limit[] = { ...@@ -6568,6 +6571,26 @@ static const struct ieee80211_iface_limit ath10k_tlv_if_limit[] = {
}, },
}; };
static const struct ieee80211_iface_limit ath10k_tlv_qcs_if_limit[] = {
{
.max = 2,
.types = BIT(NL80211_IFTYPE_STATION),
},
{
.max = 2,
.types = BIT(NL80211_IFTYPE_P2P_CLIENT),
},
{
.max = 1,
.types = BIT(NL80211_IFTYPE_AP) |
BIT(NL80211_IFTYPE_P2P_GO),
},
{
.max = 1,
.types = BIT(NL80211_IFTYPE_P2P_DEVICE),
},
};
static const struct ieee80211_iface_limit ath10k_tlv_if_limit_ibss[] = { static const struct ieee80211_iface_limit ath10k_tlv_if_limit_ibss[] = {
{ {
.max = 1, .max = 1,
...@@ -6586,7 +6609,7 @@ static struct ieee80211_iface_combination ath10k_tlv_if_comb[] = { ...@@ -6586,7 +6609,7 @@ static struct ieee80211_iface_combination ath10k_tlv_if_comb[] = {
{ {
.limits = ath10k_tlv_if_limit, .limits = ath10k_tlv_if_limit,
.num_different_channels = 1, .num_different_channels = 1,
.max_interfaces = 3, .max_interfaces = 4,
.n_limits = ARRAY_SIZE(ath10k_tlv_if_limit), .n_limits = ARRAY_SIZE(ath10k_tlv_if_limit),
}, },
{ {
...@@ -6600,10 +6623,16 @@ static struct ieee80211_iface_combination ath10k_tlv_if_comb[] = { ...@@ -6600,10 +6623,16 @@ static struct ieee80211_iface_combination ath10k_tlv_if_comb[] = {
static struct ieee80211_iface_combination ath10k_tlv_qcs_if_comb[] = { static struct ieee80211_iface_combination ath10k_tlv_qcs_if_comb[] = {
{ {
.limits = ath10k_tlv_if_limit, .limits = ath10k_tlv_if_limit,
.num_different_channels = 2, .num_different_channels = 1,
.max_interfaces = 3, .max_interfaces = 4,
.n_limits = ARRAY_SIZE(ath10k_tlv_if_limit), .n_limits = ARRAY_SIZE(ath10k_tlv_if_limit),
}, },
{
.limits = ath10k_tlv_qcs_if_limit,
.num_different_channels = 2,
.max_interfaces = 4,
.n_limits = ARRAY_SIZE(ath10k_tlv_qcs_if_limit),
},
{ {
.limits = ath10k_tlv_if_limit_ibss, .limits = ath10k_tlv_if_limit_ibss,
.num_different_channels = 1, .num_different_channels = 1,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment