mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-07-01 23:53:16 -04: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 |