Page MenuHomeFreeBSD

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

Authored by adrian on Mon, Dec 2, 5:30 AM.

Details

Reviewers
None
Group Reviewers
wireless
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 Passed
Unit
No Test Coverage
Build Status
Buildable 60908
Build 57792: arc lint + arc unit