Page MenuHomeFreeBSD

rtwn: don't do 64 bit TSF extension by default
ClosedPublic

Authored by adrian on Dec 2 2024, 5:30 AM.
Referenced Files
Unknown Object (File)
Thu, Dec 26, 8:24 AM
Unknown Object (File)
Thu, Dec 26, 5:47 AM
Unknown Object (File)
Wed, Dec 25, 6:13 PM
Unknown Object (File)
Wed, Dec 25, 10:23 AM
Unknown Object (File)
Sat, Dec 21, 4:17 PM
Unknown Object (File)
Sat, Dec 21, 5:28 AM
Unknown Object (File)
Thu, Dec 19, 8:03 PM
Unknown Object (File)
Thu, Dec 12, 2:27 AM
Subscribers

Details

Summary

The TSF64 extension involves at least 3 reads from TSF registers
(R92C_TSFTR(0), R92C_TSFTR(1), R92C_TSFTR(2)) which are 4 byte
control transfers. They take up valuable USB link time.

It's likely much less expensive for PCIe adapters. At some point
it may be worthwhile enabling it by default just for those.

With this disabled, the only USB traffic that I see during
normal data operation are bulk TX/RX data transfers for 802.11
packets, and on NICs w/ net80211 rate control, the control register
space read/writes for TX completion. (And that will also need
addressing.)

This is the difference between 15mbit TCP RX and 30mbit TCP RX
on the 11n NICs, and around 40 to 50mbit TCP RX on the 11ac NICs
in HT40 and VHT80.

Locally tested:

  • RTL8188EU, STA mode
  • RTL8192CU, STA mode
  • RTL8192EU, STA mode
  • RTL8811AU, STA mode
  • RTL8821AU, STA mode

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable