Loading drivers/net/wireless/ath/ath10k/mac.c +28 −0 Original line number Diff line number Diff line Loading @@ -8020,6 +8020,20 @@ static const struct ieee80211_iface_limit ath10k_tlv_if_limit_ibss[] = { }, }; static const struct ieee80211_iface_limit ath10k_tlv_if_vap_limit[] = { { .max = 1, .types = BIT(NL80211_IFTYPE_STATION), }, { .max = 3, .types = BIT(NL80211_IFTYPE_AP) #ifdef CONFIG_MAC80211_MESH | BIT(NL80211_IFTYPE_MESH_POINT) #endif }, }; /* FIXME: This is not thouroughly tested. These combinations may over- or * underestimate hw/fw capabilities. */ Loading @@ -8036,6 +8050,14 @@ static struct ieee80211_iface_combination ath10k_tlv_if_comb[] = { .max_interfaces = 2, .n_limits = ARRAY_SIZE(ath10k_tlv_if_limit_ibss), }, { .limits = ath10k_tlv_if_vap_limit, .num_different_channels = 1, .max_interfaces = 4, .beacon_int_infra_match = true, .beacon_int_min_gcd = 1, .n_limits = ARRAY_SIZE(ath10k_tlv_if_vap_limit), }, }; static struct ieee80211_iface_combination ath10k_tlv_qcs_if_comb[] = { Loading @@ -8057,6 +8079,12 @@ static struct ieee80211_iface_combination ath10k_tlv_qcs_if_comb[] = { .max_interfaces = 2, .n_limits = ARRAY_SIZE(ath10k_tlv_if_limit_ibss), }, { .limits = ath10k_tlv_if_vap_limit, .num_different_channels = 1, .max_interfaces = 4, .n_limits = ARRAY_SIZE(ath10k_tlv_if_vap_limit), }, }; static const struct ieee80211_iface_limit ath10k_10_4_if_limits[] = { Loading drivers/net/wireless/ath/ath10k/wmi-tlv.c +2 −2 Original line number Diff line number Diff line /* * Copyright (c) 2005-2011 Atheros Communications Inc. * Copyright (c) 2011-2017 Qualcomm Atheros, Inc. * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above Loading Loading @@ -1579,7 +1579,7 @@ static struct sk_buff *ath10k_wmi_tlv_op_gen_init(struct ath10k *ar) cfg->max_frag_entries = __cpu_to_le32(2); cfg->num_tdls_vdevs = __cpu_to_le32(TARGET_TLV_NUM_TDLS_VDEVS); cfg->num_tdls_conn_table_entries = __cpu_to_le32(0x20); cfg->beacon_tx_offload_max_vdev = __cpu_to_le32(2); cfg->beacon_tx_offload_max_vdev = __cpu_to_le32(3); cfg->num_multicast_filter_entries = __cpu_to_le32(5); cfg->num_wow_filters = __cpu_to_le32(ar->wow.max_num_patterns); cfg->num_keep_alive_pattern = __cpu_to_le32(6); Loading Loading
drivers/net/wireless/ath/ath10k/mac.c +28 −0 Original line number Diff line number Diff line Loading @@ -8020,6 +8020,20 @@ static const struct ieee80211_iface_limit ath10k_tlv_if_limit_ibss[] = { }, }; static const struct ieee80211_iface_limit ath10k_tlv_if_vap_limit[] = { { .max = 1, .types = BIT(NL80211_IFTYPE_STATION), }, { .max = 3, .types = BIT(NL80211_IFTYPE_AP) #ifdef CONFIG_MAC80211_MESH | BIT(NL80211_IFTYPE_MESH_POINT) #endif }, }; /* FIXME: This is not thouroughly tested. These combinations may over- or * underestimate hw/fw capabilities. */ Loading @@ -8036,6 +8050,14 @@ static struct ieee80211_iface_combination ath10k_tlv_if_comb[] = { .max_interfaces = 2, .n_limits = ARRAY_SIZE(ath10k_tlv_if_limit_ibss), }, { .limits = ath10k_tlv_if_vap_limit, .num_different_channels = 1, .max_interfaces = 4, .beacon_int_infra_match = true, .beacon_int_min_gcd = 1, .n_limits = ARRAY_SIZE(ath10k_tlv_if_vap_limit), }, }; static struct ieee80211_iface_combination ath10k_tlv_qcs_if_comb[] = { Loading @@ -8057,6 +8079,12 @@ static struct ieee80211_iface_combination ath10k_tlv_qcs_if_comb[] = { .max_interfaces = 2, .n_limits = ARRAY_SIZE(ath10k_tlv_if_limit_ibss), }, { .limits = ath10k_tlv_if_vap_limit, .num_different_channels = 1, .max_interfaces = 4, .n_limits = ARRAY_SIZE(ath10k_tlv_if_vap_limit), }, }; static const struct ieee80211_iface_limit ath10k_10_4_if_limits[] = { Loading
drivers/net/wireless/ath/ath10k/wmi-tlv.c +2 −2 Original line number Diff line number Diff line /* * Copyright (c) 2005-2011 Atheros Communications Inc. * Copyright (c) 2011-2017 Qualcomm Atheros, Inc. * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above Loading Loading @@ -1579,7 +1579,7 @@ static struct sk_buff *ath10k_wmi_tlv_op_gen_init(struct ath10k *ar) cfg->max_frag_entries = __cpu_to_le32(2); cfg->num_tdls_vdevs = __cpu_to_le32(TARGET_TLV_NUM_TDLS_VDEVS); cfg->num_tdls_conn_table_entries = __cpu_to_le32(0x20); cfg->beacon_tx_offload_max_vdev = __cpu_to_le32(2); cfg->beacon_tx_offload_max_vdev = __cpu_to_le32(3); cfg->num_multicast_filter_entries = __cpu_to_le32(5); cfg->num_wow_filters = __cpu_to_le32(ar->wow.max_num_patterns); cfg->num_keep_alive_pattern = __cpu_to_le32(6); Loading