[PATCH] ath10k: set a-mpdu reference number in ath10k (receiver)
Kalle Valo
kvalo at qca.qualcomm.com
Thu Jul 6 00:42:48 PDT 2017
Matthias Frei <mf at frei.media> writes:
> Set the a-mpdu reference number in ath10k to make it accessible in the receivers radiotap header. Implemented as in ath9k.
> The reference number is needed for troubleshooting and research at the receivers site (e.g. to identify mpdu's that were aggregated in an a-mpdu)
>
> Signed-off-by: Matthias Frei <mf at frei.media>
I did some changes in pending branch, please review them:
https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/?h=pending&id=f722728460a5c9e9200a7f1362fa605a714c1968
> --- a/drivers/net/wireless/ath/ath10k/core.h
> +++ b/drivers/net/wireless/ath/ath10k/core.h
> @@ -989,6 +989,9 @@ struct ath10k {
> u32 reg_ack_cts_timeout_orig;
> } fw_coverage;
>
> + /* AMPDU */
> + u32 ampdu_ref;
The comment is not providing any extra value, I'll remove that.
What about locking? How is this protected or doesn't it need anything?
Also I renamed this to ampdu_reference just to be consistent with the
mac80211 name.
> --- a/drivers/net/wireless/ath/ath10k/htt_rx.c
> +++ b/drivers/net/wireless/ath/ath10k/htt_rx.c
> @@ -877,16 +877,24 @@ static void ath10k_htt_rx_h_ppdu(struct ath10k *ar,
> status->nss = 0;
> status->encoding = RX_ENC_LEGACY;
> status->bw = RATE_INFO_BW_20;
> - status->flag &= ~RX_FLAG_MACTIME_END;
> - status->flag |= RX_FLAG_NO_SIGNAL_VAL;
> + status->flag &= ~(RX_FLAG_MACTIME_END | RX_FLAG_AMPDU_IS_LAST);
> + status->flag |= RX_FLAG_NO_SIGNAL_VAL | RX_FLAG_AMPDU_DETAILS | RX_FLAG_AMPDU_LAST_KNOWN;
This added a new warning:
drivers/net/wireless/ath/ath10k/htt_rx.c:894: line over 90 characters
I fixed that by separating the setting of ampdu flags.
> + /* set ampdu ref */
> + status->ampdu_reference = ar->ampdu_ref;
The comment is not telling anything new so removed it.
> - if (is_last_ppdu)
> + if (is_last_ppdu) {
> ath10k_htt_rx_h_mactime(ar, status, rxd);
> +
> + /* set ampdu last segment flag */
> + status->flag |= RX_FLAG_AMPDU_IS_LAST;
> + ar->ampdu_ref++;
> + }
So this counter is per wiphy, not per vdev. Is that ok?
--
Kalle Valo
More information about the ath10k
mailing list