aboutsummaryrefslogtreecommitdiffstats
path: root/package/mac80211
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2011-01-26 11:33:50 +0000
committerFelix Fietkau <nbd@openwrt.org>2011-01-26 11:33:50 +0000
commit5903f4a167f009b148ffc7535118246bc6fda3ec (patch)
tree46815c9a6a41211529412684ba68fb3595db19fa /package/mac80211
parent5571acdbd066f59f5d4b0b643aba7e0afda009ca (diff)
downloadupstream-5903f4a167f009b148ffc7535118246bc6fda3ec.tar.gz
upstream-5903f4a167f009b148ffc7535118246bc6fda3ec.tar.bz2
upstream-5903f4a167f009b148ffc7535118246bc6fda3ec.zip
mac80211: Improve ath5k/ar71xx PCI bug WAR
It has been confirmed by Atheros that this PCI bug affects the RX side only, so we can keep the 128B DMA size for TX. With this change we can double the thruput of ath5k from 15Mps to 30Mbps. We have been using this patch since more than 6 month in a production environment without problems and a significant performance improvement. It has also been said to fix HW encryption: http://www.mail-archive.com/ath5k-devel@lists.ath5k.org/msg04311.html Patch from: kentarou matsuyama <matsuyama@thinktube.com> SVN-Revision: 25104
Diffstat (limited to 'package/mac80211')
-rw-r--r--package/mac80211/patches/201-ath5k-WAR-for-AR71xx-PCI-bug.patch4
1 files changed, 2 insertions, 2 deletions
diff --git a/package/mac80211/patches/201-ath5k-WAR-for-AR71xx-PCI-bug.patch b/package/mac80211/patches/201-ath5k-WAR-for-AR71xx-PCI-bug.patch
index b216b9dbeb..d181971316 100644
--- a/package/mac80211/patches/201-ath5k-WAR-for-AR71xx-PCI-bug.patch
+++ b/package/mac80211/patches/201-ath5k-WAR-for-AR71xx-PCI-bug.patch
@@ -9,7 +9,7 @@
{ AR5K_RXCFG, AR5K_DMASIZE_128B },
+#else
+ /* WAR for AR71xx PCI bug */
-+ { AR5K_TXCFG, AR5K_DMASIZE_4B },
++ { AR5K_TXCFG, AR5K_DMASIZE_128B },
+ { AR5K_RXCFG, AR5K_DMASIZE_4B },
+#endif
{ AR5K_CFG, AR5K_INIT_CFG },
@@ -29,7 +29,7 @@
+#else
+ /* WAR for AR71xx PCI bug */
+ AR5K_REG_WRITE_BITS(ah, AR5K_TXCFG,
-+ AR5K_TXCFG_SDMAMR, AR5K_DMASIZE_4B);
++ AR5K_TXCFG_SDMAMR, AR5K_DMASIZE_128B);
+ AR5K_REG_WRITE_BITS(ah, AR5K_RXCFG,
+ AR5K_RXCFG_SDMAMW, AR5K_DMASIZE_4B);
+#endif