Adrian Chadd dd6a574e09 Enable the use of TDMA on an 802.11n channel (with aggregation disabled,
of course.)

There's a few things that needed to happen:

* In case someone decides to set the beacon transmission rate to be
  at an MCS rate, use the MCS-aware version of the duration calculation
  to figure out how long the received beacon frame was.

* If TxOP enforcing is available on the hardware and we're doing TDMA,
  enable it after a reset and set the TDMA guard interval to zero.
  This seems to behave fine.

TODO:

* Although I haven't yet seen packet loss, the PHY errors that would be
  triggered (specifically Transmit-Override-Receive) aren't enabled
  by the 11n HAL.  I'll have to do some work to enable these PHY errors
  for debugging.

What broke:

* My recent changes to the TX queue handling has resulted in the driver
  not keeping the hardware queue properly filled when doing non-aggregate
  traffic.  I have a patch to commit soon which fixes this situation
  (albeit by reminding me about how my ath driver locking isn't working
  out, sigh.)

  So if you want to test this without updating to the next set of patches
  that I commit, just bump the sysctl dev.ath.X.hwq_limit from 2 to 32.

Tested:

* AR5416 <-> AR5416, with ampdu disabled, HT40, 5GHz, MCS12+Short-GI.
  I saw 30mbit/sec in both directions using a bidirectional UDP test.
2013-05-21 18:02:54 +00:00
..
2013-05-18 12:54:37 +00:00
2013-05-21 11:41:08 +00:00
2013-05-20 23:52:49 +00:00
2013-05-12 01:53:47 +00:00
2013-05-21 11:41:08 +00:00
2013-05-12 16:43:26 +00:00
2013-05-20 23:52:49 +00:00
2013-05-12 16:43:26 +00:00
2013-05-10 16:41:26 +00:00
2013-05-12 01:53:47 +00:00
2013-04-17 11:45:15 +00:00
2013-05-21 11:41:08 +00:00
2013-05-12 16:43:26 +00:00
2013-04-29 23:08:13 +00:00