linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

      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).