freebsd-nq/sys/dev/bwn
Andriy Voskoboinyk f6930bec33 net80211: ieee80211_ratectl*: switch to reusable KPI
Replace various void * / int argument combinations with common structures:
- ieee80211_ratectl_tx_status for *_tx_complete();
- ieee80211_ratectl_tx_stats for *_tx_update();

While here, improve amrr_tx_update() for a bit:
1. In case, if receiver is not known (typical for Ralink USB drivers),
refresh Tx rate for all nodes on the interface.
2. There was a misuse:
- otus(4) sends non-decreasing counters (as originally intended);
- but ural(4), rum(4) and run(4) are using 'read & clear' registers
to obtain statistics for some period of time (and those 'last period'
values are used as arguments for tx_update()). If arguments are not big
enough, they are just discarded after the next call.

Fix: move counting into *_tx_update()
(now otus(4) will zero out all node counters after every tx_update() call)

Tested with:
- Intel 3945BG (wpi(4)), STA mode.
- WUSB54GC (rum(4)), STA / HOSTAP mode.
- RTL8188EU (urtwn(4)), STA mode.

Reviewed by:	adrian
Differential Revision:	https://reviews.freebsd.org/D8037
2016-10-02 20:35:55 +00:00
..
bwn_mac.c bhnd(4): Implement backplane interrupt handling. 2016-09-05 22:11:46 +00:00
if_bwn_chipid.h
if_bwn_cordic.h
if_bwn_debug.h
if_bwn_misc.h
if_bwn_pci.c bwn(4): ignore BCM4321's unpopulated USB11 host controller core. 2016-09-05 21:55:27 +00:00
if_bwn_pcivar.h bwn(4): ignore BCM4321's unpopulated USB11 host controller core. 2016-09-05 21:55:27 +00:00
if_bwn_phy_common.c
if_bwn_phy_common.h
if_bwn_phy_g.c
if_bwn_phy_g.h
if_bwn_phy_lp.c
if_bwn_phy_lp.h
if_bwn_phy_n.c
if_bwn_phy_n.h
if_bwn_util.c
if_bwn_util.h
if_bwn.c net80211: ieee80211_ratectl*: switch to reusable KPI 2016-10-02 20:35:55 +00:00
if_bwnreg.h
if_bwnvar.h