devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vasanthakumar Thiagarajan <vthiagar-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
To: Johannes Berg <johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>
Cc: Kalle Valo <kvalo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
	linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	ath11k-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH 31/49] ath11k: add mac.c
Date: Fri, 23 Aug 2019 17:45:41 +0530	[thread overview]
Message-ID: <ee38dc5e80097d0ebc186f81b2f11d37@codeaurora.org> (raw)
In-Reply-To: <4076919b34cad119eb4146025f587285ef40e37c.camel-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>

On 2019-08-21 02:16, Johannes Berg wrote:
> On Tue, 2019-08-20 at 18:47 +0300, Kalle Valo wrote:
> 
>> +static int ath11k_mac_op_config(struct ieee80211_hw *hw, u32 changed)
>> +{
>> +	struct ath11k *ar = hw->priv;
>> +	int ret = 0;
>> +
>> +	/* mac80211 requires this op to be present and that's why
>> +	 * there's an empty function, this can be extended when
>> +	 * required.
>> +	 */
> 
> Well, oops. Maybe it shouldn't be required?

I think we require this for some configuration handling. The comment is 
to be updated with
proper information. We'll address that.

> 
>> +	mutex_lock(&ar->conf_mutex);
>> +
>> +	/* TODO: Handle configuration changes as appropriate */
>> +
>> +	mutex_unlock(&ar->conf_mutex);
> 
> It's not actually empty though - why bother locking the mutex for
> nothing?

Sure, we'll remove this locking.

> 
>> +	if (sta->mfp) {
>> +		/* TODO: Need to check if FW supports PMF? */
> 
> Probably not? shouldn't get a sta with MFP unless you advertised 
> support
> for it. At least I'd think so, and consider it a mac80211 bug if you
> still did.
> 

I could see driver getting sta with MFP irrespective of whether driver
advertises it's support in hw_flags by setting IEEE80211_HW_MFP_CAPABLE.
I see MFP station in driver even when I remove the support for the MFP 
cipher
suits in STA mode. I agree all these needs to be handled in mac80211.

>> +	/* This is a workaround for HT-enabled STAs which break the spec
>> +	 * and have no HT capabilities RX mask (no HT RX MCS map).
>> +	 *
>> +	 * As per spec, in section 20.3.5 Modulation and coding scheme 
>> (MCS),
>> +	 * MCS 0 through 7 are mandatory in 20MHz with 800 ns GI at all 
>> STAs.
> 
> Wouldn't that better be in mac80211?

Right.

> 
>> +	ampdu_factor = (vht_cap->cap &
>> +			IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK) >>
>> +		       IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_SHIFT;
> 
> consider u32_get_bits() or something like that from bitfield.h
> 
>> +	/* Workaround: Some Netgear/Linksys 11ac APs set Rx A-MPDU factor to
>> +	 * zero in VHT IE. Using it would result in degraded throughput.
>> +	 * arg->peer_max_mpdu at this point contains HT max_mpdu so keep
>> +	 * it if VHT max_mpdu is smaller.
>> +	 */
>> +	arg->peer_max_mpdu = max(arg->peer_max_mpdu,
>> +				 (1U << (IEEE80211_HT_MAX_AMPDU_FACTOR +
>> +					ampdu_factor)) - 1);
> 
> Wait, that seems familiar. Again, put it into mac80211?
> 

Sure.

>> +static void ath11k_peer_assoc_h_smps(struct ieee80211_sta *sta,
>> +				     struct peer_assoc_params *arg)
>> +{
>> +	const struct ieee80211_sta_ht_cap *ht_cap = &sta->ht_cap;
>> +	int smps;
>> +
>> +	if (!ht_cap->ht_supported)
>> +		return;
>> +
>> +	smps = ht_cap->cap & IEEE80211_HT_CAP_SM_PS;
>> +	smps >>= IEEE80211_HT_CAP_SM_PS_SHIFT;
> 
> also here, u*_get_bits() or something might be nicer
> 
> (and yes, I've written tons of code like this myself before that
> existed, which is why I'm pointing it out - it's much nicer)
> 

Ok.

>> +void ath11k_mac_drain_tx(struct ath11k *ar)
>> +{
>> +	/* make sure rcu-protected mac80211 tx path itself is drained */
>> +	synchronize_net();
> 
> Doesn't mac80211 ensure that in the relevant places like flush()? But
> then again, not sure where you call this.

This tx drain cleans up any pending management frames in the software 
queue.
This will be done from hw_restart and drv_start callback to make sure we
do not have any pending management frames.

> 
>> +	ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "mac set fixed rate params vdev 
>> %i rate 0x%02hhx nss %hhu sgi %hhu\n",
>> +		   arvif->vdev_id, rate, nss, sgi);
> 
> nit: that could use a line-break
> 
>> +	vdev_param = WMI_VDEV_PARAM_FIXED_RATE;
>> +	ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id,
>> +					    vdev_param, rate);
>> +	if (ret) {
>> +		ath11k_warn(ar->ab, "failed to set fixed rate param 0x%02x: %d\n",
>> 
>> +	/* TODO: Check if HT capability advertised from firmware is 
>> different
>> +	 * for each band for a dual band capable radio. It will be tricky to
>> +	 * handle it when the ht capability different for each band.
>> +	 */
> 
> For each band shouldn't really be that tricky?
> 

Sure, we'll review and address this TODO.

Thanks,
Vasanth

> _______________________________________________
> ath11k mailing list
> ath11k-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
> http://lists.infradead.org/mailman/listinfo/ath11k

  parent reply	other threads:[~2019-08-23 12:15 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-20 15:47 [PATCH 00/49] ath11k: driver for Qualcomm IEEE 802.11ax devices Kalle Valo
     [not found] ` <1566316095-27507-1-git-send-email-kvalo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2019-08-20 15:47   ` [PATCH 01/49] dt: bindings: net: add qcom,ath11k.txt Kalle Valo
     [not found]     ` <1566316095-27507-2-git-send-email-kvalo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2019-08-27 17:13       ` Rob Herring
2019-09-05 13:18         ` Kalle Valo
2019-08-20 15:47   ` [PATCH 02/49] ath11k: add Kconfig Kalle Valo
     [not found]     ` <1566316095-27507-3-git-send-email-kvalo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2019-08-20 16:52       ` John Crispin
2019-08-20 15:47   ` [PATCH 03/49] ath11k: add Makefile Kalle Valo
2019-08-20 15:47   ` [PATCH 04/49] ath11k: add ahb.c Kalle Valo
     [not found]     ` <1566316095-27507-5-git-send-email-kvalo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2019-08-20 20:05       ` Johannes Berg
     [not found]         ` <8c791df54a831f32fddd634e71e5e91342532535.camel-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>
2019-08-21  9:29           ` Vasanthakumar Thiagarajan
     [not found]             ` <e53ddcaa11d069fbe9d083b9b0105d19-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2019-08-21  9:40               ` Johannes Berg
     [not found]                 ` <e0cbf7b86b275f87c0a69bd9a31e5b9fa8691d3a.camel-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>
2019-08-21 17:10                   ` Vasanthakumar Thiagarajan
2019-08-20 15:47   ` [PATCH 05/49] ath11k: add ahb.h Kalle Valo
2019-08-20 15:47   ` [PATCH 06/49] ath11k: add ce.c Kalle Valo
     [not found]     ` <1566316095-27507-7-git-send-email-kvalo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2019-08-20 20:23       ` Johannes Berg
     [not found]         ` <54d8d4600d53bac855b19a26fa744ed16be09bf0.camel-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>
2019-08-21  9:45           ` Vasanthakumar Thiagarajan
2019-08-20 15:47   ` [PATCH 07/49] ath11k: add ce.h Kalle Valo
2019-08-20 15:47   ` [PATCH 08/49] ath11k: add core.c Kalle Valo
     [not found]     ` <1566316095-27507-9-git-send-email-kvalo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2019-08-20 20:32       ` Johannes Berg
     [not found]         ` <0c526ce00e6e1c7731c990515e7438230efb55af.camel-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>
2019-09-05 11:37           ` Kalle Valo
2019-08-20 15:47   ` [PATCH 09/49] ath11k: add core.h Kalle Valo
2019-08-20 15:47   ` [PATCH 10/49] ath11k: add debug.c Kalle Valo
     [not found]     ` <1566316095-27507-11-git-send-email-kvalo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2019-08-26 13:47       ` Sven Eckelmann
2019-08-27  7:33         ` Anilkumar Kolli
     [not found]           ` <80bdedf3740960e0ce05b02a77d1b457-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2019-08-27  7:35             ` Sven Eckelmann
2019-08-27  9:04               ` Anilkumar Kolli
     [not found]                 ` <6622b83f754404ec05b9442027757c5e-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2019-08-27  9:53                   ` Sven Eckelmann
2019-08-27 10:04                     ` Anilkumar Kolli
     [not found]                       ` <f93b9c98fcfb9a910c3efc04d11d5aa0-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2019-08-27 10:49                         ` Sven Eckelmann
2019-08-20 15:47   ` [PATCH 11/49] ath11k: add debug.h Kalle Valo
2019-08-20 15:47   ` [PATCH 12/49] ath11k: add debug_htt_stats.c Kalle Valo
2019-08-20 15:47   ` [PATCH 13/49] ath11k: add debug_htt_stats.h Kalle Valo
2019-08-20 15:47   ` [PATCH 14/49] ath11k: add debugfs_sta.c Kalle Valo
2019-08-20 15:47   ` [PATCH 15/49] ath11k: add dp.c Kalle Valo
2019-08-20 15:47   ` [PATCH 16/49] ath11k: add dp.h Kalle Valo
2019-08-20 15:47   ` [PATCH 17/49] ath11k: add dp_rx.c Kalle Valo
2019-08-20 15:47   ` [PATCH 18/49] ath11k: add dp_rx.h Kalle Valo
2019-08-20 15:47   ` [PATCH 19/49] ath11k: add dp_tx.c Kalle Valo
2019-08-20 15:47   ` [PATCH 20/49] ath11k: add dp_tx.h Kalle Valo
2019-08-20 15:47   ` [PATCH 21/49] ath11k: add hal.c Kalle Valo
2019-08-20 15:47   ` [PATCH 22/49] ath11k: add hal.h Kalle Valo
2019-08-20 15:47   ` [PATCH 23/49] ath11k: add hal_desc.h Kalle Valo
2019-08-20 15:47   ` [PATCH 24/49] ath11k: add hal_rx.c Kalle Valo
2019-08-20 15:47   ` [PATCH 25/49] ath11k: add hal_rx.h Kalle Valo
2019-08-20 15:47   ` [PATCH 26/49] ath11k: add hal_tx.c Kalle Valo
2019-08-20 15:47   ` [PATCH 27/49] ath11k: add hal_tx.h Kalle Valo
2019-08-20 15:47   ` [PATCH 28/49] ath11k: add htc.c Kalle Valo
2019-08-20 15:47   ` [PATCH 29/49] ath11k: add htc.h Kalle Valo
2019-08-20 15:47   ` [PATCH 30/49] ath11k: add hw.h Kalle Valo
2019-08-20 15:47   ` [PATCH 31/49] ath11k: add mac.c Kalle Valo
     [not found]     ` <1566316095-27507-32-git-send-email-kvalo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2019-08-20 16:51       ` Toke Høiland-Jørgensen
     [not found]         ` <8736hvu6e6.fsf-LJ9M9ZcSy1A@public.gmane.org>
2019-08-21  5:02           ` Vasanthakumar Thiagarajan
     [not found]             ` <ac6e7dbbd53e7ba9e82e49baca22b73c-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2019-08-21 10:08               ` Toke Høiland-Jørgensen
     [not found]                 ` <875zmqsudn.fsf-LJ9M9ZcSy1A@public.gmane.org>
2019-08-27 10:43                   ` Vasanthakumar Thiagarajan
     [not found]                     ` <14737343f1925a771ddd8dadf0f2b5a3-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2019-08-27 17:27                       ` Toke Høiland-Jørgensen
     [not found]                         ` <87sgpmikne.fsf-LJ9M9ZcSy1A@public.gmane.org>
2019-08-27 19:13                           ` Ben Greear
2019-08-20 20:46       ` Johannes Berg
     [not found]         ` <4076919b34cad119eb4146025f587285ef40e37c.camel-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>
2019-08-23 12:15           ` Vasanthakumar Thiagarajan [this message]
     [not found]             ` <ee38dc5e80097d0ebc186f81b2f11d37-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2019-09-05 11:24               ` Kalle Valo
     [not found]                 ` <878sr3nfz8.fsf-HodKDYzPHsUD5k0oWYwrnHL1okKdlPRT@public.gmane.org>
2019-09-05 11:58                   ` Vasanthakumar Thiagarajan
     [not found]                     ` <8e90a557c1659995d117c6dc8b728d7f-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2019-09-05 12:29                       ` Kalle Valo
     [not found]                         ` <87woenkjt7.fsf-HodKDYzPHsUD5k0oWYwrnHL1okKdlPRT@public.gmane.org>
2019-09-05 12:50                           ` Johannes Berg
2019-08-21  6:16       ` Sven Eckelmann
2019-08-23 15:02       ` Nicolas Cavallari
     [not found]         ` <c37a9fc4-aa74-a333-a67c-cce66ad78ec0-HoVSR7jCO9Dxoq/u1CTanTkwo1WHXZZs@public.gmane.org>
2019-08-27 10:51           ` Vasanthakumar Thiagarajan
2019-08-20 15:47   ` [PATCH 32/49] ath11k: add mac.h Kalle Valo
2019-08-20 15:47   ` [PATCH 33/49] ath11k: add peer.c Kalle Valo
2019-08-20 15:48   ` [PATCH 34/49] ath11k: add peer.h Kalle Valo
2019-08-20 15:48   ` [PATCH 35/49] ath11k: add qmi.c Kalle Valo
2019-08-20 15:48   ` [PATCH 36/49] ath11k: add qmi.h Kalle Valo
2019-08-20 15:48   ` [PATCH 37/49] ath11k: add reg.c Kalle Valo
2019-08-20 15:48   ` [PATCH 38/49] ath11k: add reg.h Kalle Valo
2019-08-20 15:48   ` [PATCH 39/49] ath11k: add rx_desc.h Kalle Valo
2019-08-20 15:48   ` [PATCH 40/49] ath11k: add testmode.c Kalle Valo
2019-08-20 15:48   ` [PATCH 41/49] ath11k: add testmode.h Kalle Valo
2019-08-20 15:48   ` [PATCH 42/49] ath11k: add testmode_i.h Kalle Valo
2019-08-20 15:48   ` [PATCH 43/49] ath11k: add trace.c Kalle Valo
2019-08-20 15:48   ` [PATCH 44/49] ath11k: add trace.h Kalle Valo
2019-08-20 15:48   ` [PATCH 45/49] ath11k: add wmi.c Kalle Valo
2019-08-20 15:48   ` [PATCH 46/49] ath11k: add wmi.h Kalle Valo
     [not found]     ` <1566316095-27507-47-git-send-email-kvalo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2019-08-20 20:29       ` Johannes Berg
     [not found]         ` <c60afe716cc9ce3b511d8be0b04958342dfea908.camel-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>
2019-08-23  4:21           ` Vasanthakumar Thiagarajan
2019-08-20 15:48   ` [PATCH 47/49] ath: add ath11k to Makefile Kalle Valo
2019-08-20 15:48   ` [PATCH 48/49] ath: add ath11k to Kconfig Kalle Valo
2019-08-20 15:48   ` [PATCH 49/49] MAINTAINERS: add ath11k Kalle Valo

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=ee38dc5e80097d0ebc186f81b2f11d37@codeaurora.org \
    --to=vthiagar-sgv2jx0feol9jmxxk+q4oq@public.gmane.org \
    --cc=ath11k-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=johannes-cdvu00un1VgdHxzADdlk8Q@public.gmane.org \
    --cc=kvalo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.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).