linux_dsm_epyc7002/drivers/net/wireless
Felix Fietkau fce041beb0 ath9k: unify edma and non-edma tx code, improve tx fifo handling
EDMA based chips (AR9380+) have 8 Tx FIFO slots, which are used to fix the
tx queue start/stop race conditions which have to be worked around for
earlier chips by keeping the last descriptor in the queue. The current code
stores all frames that do not fit onto the 8 FIFO slots in a separate
list. Whenever a FIFO slot is freed up, the next frame (or A-MPDU) from the
pending queue gets moved to that slot.

This process is not only inefficient, but also unnecessary. The code can
be improved visibly by keeping the pending queue fully linked, and moving
the contents of the entire queue to a FIFO slot as it becomes available.

This patch makes the necessary changes for that and also merges some code
that was duplicated for EDMA vs non-EDMA. It changes txq->axq_link to point
to the last descriptor instead of the link pointer, so that
ath9k_hw_set_desc_link can be used, which works on all chips.

With this patch, a small performance increase for non-aggregated traffic
was observed on AR9380 based embedded hardware.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-06-01 15:11:00 -04:00
..
ath ath9k: unify edma and non-edma tx code, improve tx fifo handling 2011-06-01 15:11:00 -04:00
b43 b43: bus: abstract bus and core operations 2011-06-01 15:10:58 -04:00
b43legacy Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2011-05-16 19:32:19 -04:00
hostap net: call dev_alloc_name from register_netdevice 2011-05-05 10:57:45 -07:00
ipw2x00 treewide: fix a few typos in comments 2011-05-10 10:16:21 +02:00
iwlegacy Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2011-05-27 15:18:35 -04:00
iwlwifi Merge branch 'for-davem' of ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 2011-05-25 13:28:55 -04:00
iwmc3200wifi Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2011-05-24 16:47:54 -04:00
libertas Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-05-17 17:33:11 -04:00
libertas_tf
mwifiex Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2011-05-27 15:18:35 -04:00
orinoco
p54 Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2011-05-24 16:47:54 -04:00
prism54
rt2x00 rt2x00: Enabled rt35xx device support by default. 2011-06-01 15:10:59 -04:00
rtl818x
rtlwifi Merge git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2011-05-27 15:18:35 -04:00
wl12xx wl12xx: fix compilation error when CONFIG_PM is not set 2011-05-18 16:51:26 -04:00
wl1251
zd1211rw
adm8211.c
adm8211.h
airo_cs.c
airo.c Merge branch 'for-davem' of ssh://master.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 2011-05-25 13:28:55 -04:00
airo.h
at76c50x-usb.c
at76c50x-usb.h
atmel_cs.c
atmel_pci.c
atmel.c
atmel.h
Kconfig
mac80211_hwsim.c mac80211_hwsim driver support userspace frame tx/rx 2011-06-01 15:11:00 -04:00
mac80211_hwsim.h mac80211_hwsim driver support userspace frame tx/rx 2011-06-01 15:11:00 -04:00
Makefile
mwl8k.c mwl8k: Do not ask mac80211 to generate IV for crypto keys 2011-05-05 14:59:24 -04:00
ray_cs.c
ray_cs.h
rayctl.h
rndis_wlan.c cfg80211: Use consistent BSS matching between scan and sme 2011-05-19 10:37:18 -04:00
wl3501_cs.c
wl3501.h
zd1201.c
zd1201.h