From: Maharaja Kennadyrajan <mkenna@codeaurora.org>
To: Ben Greear <greearb@candelatech.com>
Cc: ath10k@lists.infradead.org, linux-wireless@vger.kernel.org
Subject: Re: [PATCH] ath10k: Advertize beacon_int_min_gcd as 100 while bring up multi vaps
Date: Tue, 18 Sep 2018 17:32:31 +0530 [thread overview]
Message-ID: <8353e4d02ebb2bae996aa184b65d2756@codeaurora.org> (raw)
In-Reply-To: <00ea718a-2ccb-74ba-11c2-102071200743@candelatech.com>
On 2018-09-18 4:14 pm, Ben Greear wrote:
> On 09/17/2018 11:33 PM, Maharaja Kennadyrajan wrote:
>> With the latest firmware design, the beacon interval should be
>> greater than 100 to bring the multiple vaps.
>>
>> Set beacon_int_min_gcd to 100, when the wmi service
>> WMI_SERVICE_VDEV_DIFFERENT_BEACON_INTERVAL_SUPPORT is enabled
>> in the firmware. If not, beacon_int_min_gcd will be set
>> to the default value 1.
>>
>> Tested in QCA4019 with firmware ver 10.4-3.2.1.1-00015
>> Tested in QCA9888 with firmware ver 10.4-3.5.1-0005
>>
>> Signed-off-by: Maharaja Kennadyrajan <mkenna@codeaurora.org>
>> ---
>> drivers/net/wireless/ath/ath10k/mac.c | 25 +++++++++++++++++++++++++
>> drivers/net/wireless/ath/ath10k/wmi.h | 9 +++++++++
>> 2 files changed, 34 insertions(+)
>>
>> diff --git a/drivers/net/wireless/ath/ath10k/mac.c
>> b/drivers/net/wireless/ath/ath10k/mac.c
>> index 97548f9..532fc5d 100644
>> --- a/drivers/net/wireless/ath/ath10k/mac.c
>> +++ b/drivers/net/wireless/ath/ath10k/mac.c
>> @@ -8163,6 +8163,24 @@ void ath10k_mac_destroy(struct ath10k *ar)
>> },
>> };
>>
>> +static const struct
>> +ieee80211_iface_combination ath10k_10_4_bcn_int_if_comb[] = {
>> + {
>> + .limits = ath10k_10_4_if_limits,
>> + .n_limits = ARRAY_SIZE(ath10k_10_4_if_limits),
>> + .max_interfaces = 16,
>> + .num_different_channels = 1,
>> + .beacon_int_infra_match = true,
>> + .beacon_int_min_gcd = 100,
>> +#ifdef CONFIG_ATH10K_DFS_CERTIFIED
>> + .radar_detect_widths = BIT(NL80211_CHAN_WIDTH_20_NOHT) |
>> + BIT(NL80211_CHAN_WIDTH_20) |
>> + BIT(NL80211_CHAN_WIDTH_40) |
>> + BIT(NL80211_CHAN_WIDTH_80),
>> +#endif
>> + },
>> +};
>> +
>> static void ath10k_get_arvif_iter(void *data, u8 *mac,
>> struct ieee80211_vif *vif)
>> {
>> @@ -8526,6 +8544,13 @@ int ath10k_mac_register(struct ath10k *ar)
>> ar->hw->wiphy->iface_combinations = ath10k_10_4_if_comb;
>> ar->hw->wiphy->n_iface_combinations =
>> ARRAY_SIZE(ath10k_10_4_if_comb);
>> + if (test_bit(WMI_SERVICE_VDEV_DIFFERENT_BEACON_INTERVAL_SUPPORT,
>> + ar->wmi.svc_map)) {
>> + ar->hw->wiphy->iface_combinations =
>> + ath10k_10_4_bcn_int_if_comb;
>> + ar->hw->wiphy->n_iface_combinations =
>> + ARRAY_SIZE(ath10k_10_4_bcn_int_if_comb);
>> + }
>> break;
>> case ATH10K_FW_WMI_OP_VERSION_UNSET:
>> case ATH10K_FW_WMI_OP_VERSION_MAX:
>> diff --git a/drivers/net/wireless/ath/ath10k/wmi.h
>> b/drivers/net/wireless/ath/ath10k/wmi.h
>> index 1562294..126eb17 100644
>> --- a/drivers/net/wireless/ath/ath10k/wmi.h
>> +++ b/drivers/net/wireless/ath/ath10k/wmi.h
>> @@ -204,6 +204,7 @@ enum wmi_service {
>> WMI_SERVICE_RESET_CHIP,
>> WMI_SERVICE_SPOOF_MAC_SUPPORT,
>> WMI_SERVICE_TX_DATA_ACK_RSSI,
>> + WMI_SERVICE_VDEV_DIFFERENT_BEACON_INTERVAL_SUPPORT,
>>
>> /* keep last */
>> WMI_SERVICE_MAX,
>> @@ -353,6 +354,11 @@ enum wmi_10_4_service {
>> WMI_10_4_SERVICE_TPC_STATS_FINAL,
>> WMI_10_4_SERVICE_CFR_CAPTURE_SUPPORT,
>> WMI_10_4_SERVICE_TX_DATA_ACK_RSSI,
>> + WMI_10_4_SERVICE_CFR_CAPTURE_IND_MSG_TYPE_LAGACY,
>
> That should end with "LEGACY" instead of "LAGACY" maybe?
[Maha]: Thanks Ben for noticing it. I will take care it in v2 patch.
>
>> + WMI_10_4_SERVICE_PER_PACKET_SW_ENCRYPT,
>> + WMI_10_4_SERVICE_PEER_TID_CONFIGS_SUPPORT,
>> + WMI_10_4_SERVICE_VDEV_BCN_RATE_CONTROL,
>> + WMI_10_4_SERVICE_VDEV_DIFFERENT_BEACON_INTERVAL_SUPPORT,
>> };
>>
>> static inline char *wmi_service_name(int service_id)
>> @@ -467,6 +473,7 @@ static inline char *wmi_service_name(int
>> service_id)
>> SVCSTR(WMI_SERVICE_TPC_STATS_FINAL);
>> SVCSTR(WMI_SERVICE_RESET_CHIP);
>> SVCSTR(WMI_SERVICE_TX_DATA_ACK_RSSI);
>> + SVCSTR(WMI_SERVICE_VDEV_DIFFERENT_BEACON_INTERVAL_SUPPORT);
>> default:
>> return NULL;
>> }
>> @@ -777,6 +784,8 @@ static inline void wmi_10_4_svc_map(const __le32
>> *in, unsigned long *out,
>> WMI_SERVICE_TPC_STATS_FINAL, len);
>> SVCMAP(WMI_10_4_SERVICE_TX_DATA_ACK_RSSI,
>> WMI_SERVICE_TX_DATA_ACK_RSSI, len);
>> + SVCMAP(WMI_10_4_SERVICE_VDEV_DIFFERENT_BEACON_INTERVAL_SUPPORT,
>> + WMI_SERVICE_VDEV_DIFFERENT_BEACON_INTERVAL_SUPPORT, len);
>> }
>>
>> #undef SVCMAP
>>
>
> Thanks,
> Ben
--
Regards,
Maha
prev parent reply other threads:[~2018-09-18 17:34 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-18 6:33 [PATCH] ath10k: Advertize beacon_int_min_gcd as 100 while bring up multi vaps Maharaja Kennadyrajan
2018-09-18 10:44 ` Ben Greear
2018-09-18 12:02 ` Maharaja Kennadyrajan [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8353e4d02ebb2bae996aa184b65d2756@codeaurora.org \
--to=mkenna@codeaurora.org \
--cc=ath10k@lists.infradead.org \
--cc=greearb@candelatech.com \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).