From: Maharaja Kennadyrajan <mkenna@codeaurora.org>
To: Ben Greear <greearb@candelatech.com>
Cc: linux-wireless@vger.kernel.org, ath10k@lists.infradead.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
_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k
WARNING: multiple messages have this Message-ID (diff)
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
next prev parent reply other threads:[~2018-09-18 12:03 UTC|newest]
Thread overview: 6+ 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 6:33 ` Maharaja Kennadyrajan
2018-09-18 10:44 ` Ben Greear
2018-09-18 10:44 ` Ben Greear
2018-09-18 12:02 ` Maharaja Kennadyrajan [this message]
2018-09-18 12:02 ` Maharaja Kennadyrajan
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.