if_iwm - Update firmware rs table, instead of indexing the table in tx cmds.
commit5d6b465e288ac5b52d7115688d4e6516acbbea1c
authorImre Vadász <imre@vdsz.com>
Sun, 6 Nov 2016 15:25:54 +0000 (6 16:25 +0100)
committerImre Vadász <imre@vdsz.com>
Sun, 6 Nov 2016 19:28:26 +0000 (6 20:28 +0100)
treea148893e75329a95d34efaabc06ac6a4f2d5d539
parentaa77d40cd706d4a2681f1b97bf9c03a1e8edc69c
if_iwm - Update firmware rs table, instead of indexing the table in tx cmds.

* Rather than providing a non-zero index into the firmware RS table,
  we should always use index 0 and update the firmware RS table whenever
  our chosen tx rate for data-frames changes.

* Send IWM_LQ_CMD updates when the tx rate gets updated by the net80211
  rate control (which is after we tell the tx status to the net80211
  rate-control in iwm_mvm_rx_tx_cmd_single()).

* Disregard frames transferred with a different tx rate than the currently
  selected rate for the rate-control calculations. This way we avoid
  counting management frames (which are sent at a slow, and fixed rate),
  as well as frames we added to the tx queue just before a new IWM_LQ_CMD
  update took effect.

Inspired-By: Linux iwlwifi
sys/dev/netif/iwm/if_iwm.c
sys/dev/netif/iwm/if_iwmvar.h