mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-09 13:22:19 +00:00
Switching from legacy usage of ieee80211_get_tx_rates() lookup to direct rate table lookup in struct ieee80211_sta->rates. The current rate control API allows drivers to directly get rates from ieee80211_sta->rates. ath5k is currently one of the legacy drivers that perform translation/merge with the internal rate table via ieee80211_get_tx_rates provided by rate control API. For our upcoming changes to rate control API and the implementation of transmit power control, this patch changes the behaviour. The call to ieee80211_get_tx_rates and subsequent calls are also avoided. ath5k now directly reads rates from sta->rates into its internal rate table. Cause ath5k does not rely on the rate array in SKB->CB, this is not considered anymore except for the first entry (used for probing). Tested this on a PCEngines ALIX with CMP9-GP miniPCI wifi card (Atheros AR5213A). Generated traffic between AP and multiple STAs before and after applying the patch and simultaneously measured throughput and captured rc_stats. Comparison resulted in same rate selection and no performance loss between both runs. Co-developed-by: Thomas Huehn <thomas.huehn@hs-nordhausen.de> Signed-off-by: Thomas Huehn <thomas.huehn@hs-nordhausen.de> Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://lore.kernel.org/r/20211215215042.637-1-jelonek.jonas@gmail.com |
||
|---|---|---|
| .. | ||
| ahb.c | ||
| ani.c | ||
| ani.h | ||
| ath5k.h | ||
| attach.c | ||
| base.c | ||
| base.h | ||
| caps.c | ||
| debug.c | ||
| debug.h | ||
| desc.c | ||
| desc.h | ||
| dma.c | ||
| eeprom.c | ||
| eeprom.h | ||
| gpio.c | ||
| initvals.c | ||
| Kconfig | ||
| led.c | ||
| mac80211-ops.c | ||
| Makefile | ||
| pci.c | ||
| pcu.c | ||
| phy.c | ||
| qcu.c | ||
| reg.h | ||
| reset.c | ||
| rfbuffer.h | ||
| rfgain.h | ||
| rfkill.c | ||
| sysfs.c | ||
| trace.h | ||