Search Linux Wireless

Re: [PATCH 3/5] mt76: mt7921: report tx rate directly from tx status

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Aug 19, Kalle Valo wrote:
> Lorenzo Bianconi <lorenzo@xxxxxxxxxx> writes:
> 
> > Report tx rate from tx status packets instead of receiving periodic mcu
> > event. This improves flexibility, accuracy and AQL performance, and
> > simplifies code flow for better readability.
> >
> > Signed-off-by: Lorenzo Bianconi <lorenzo@xxxxxxxxxx>
> 
> [...]
> 
> > +		/* We don't support reading GI info from txs packets.
> > +		 * For accurate tx status reporting and AQL improvement,
> > +		 * we need to make sure that flags match so polling GI
> > +		 * from per-sta counters directly.
> > +		 */
> > +		rate = &msta->wcid.rate;
> > +		addr = MT_WTBL_LMAC_OFFS(idx, 0) + 7 * 4;
> 
> Magic values.

ack, I reused what was already in mt7921_mac_sta_poll(), but I can add some
definitions :)

> 
> > +		val = mt76_rr(dev, addr);
> > +
> > +		switch (rate->bw) {
> > +		case RATE_INFO_BW_160:
> > +			bw = IEEE80211_STA_RX_BW_160;
> > +			break;
> > +		case RATE_INFO_BW_80:
> > +			bw = IEEE80211_STA_RX_BW_80;
> > +			break;
> > +		case RATE_INFO_BW_40:
> > +			bw = IEEE80211_STA_RX_BW_40;
> > +			break;
> > +		default:
> > +			bw = IEEE80211_STA_RX_BW_20;
> > +			break;
> > +		}
> > +
> > +		if (rate->flags & RATE_INFO_FLAGS_HE_MCS) {
> > +			u8 offs = 24 + 2 * bw;
> > +
> > +			rate->he_gi = (val & (0x3 << offs)) >> offs;
> 
> Ditto.

same here, I just reused the code from mt7915, I will fix it.

Regards,
Lorenzo

> 
> -- 
> https://patchwork.kernel.org/project/linux-wireless/list/
> 
> https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux