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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25104 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Felix Fietkau 2011-01-26 11:33:50 +00:00
parent 3ec2817f23
commit a1ee44e27f
1 changed files with 2 additions and 2 deletions

View File

@ -9,7 +9,7 @@
{ AR5K_RXCFG, AR5K_DMASIZE_128B }, { AR5K_RXCFG, AR5K_DMASIZE_128B },
+#else +#else
+ /* WAR for AR71xx PCI bug */ + /* WAR for AR71xx PCI bug */
+ { AR5K_TXCFG, AR5K_DMASIZE_4B }, + { AR5K_TXCFG, AR5K_DMASIZE_128B },
+ { AR5K_RXCFG, AR5K_DMASIZE_4B }, + { AR5K_RXCFG, AR5K_DMASIZE_4B },
+#endif +#endif
{ AR5K_CFG, AR5K_INIT_CFG }, { AR5K_CFG, AR5K_INIT_CFG },
@ -29,7 +29,7 @@
+#else +#else
+ /* WAR for AR71xx PCI bug */ + /* WAR for AR71xx PCI bug */
+ AR5K_REG_WRITE_BITS(ah, AR5K_TXCFG, + 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_REG_WRITE_BITS(ah, AR5K_RXCFG,
+ AR5K_RXCFG_SDMAMW, AR5K_DMASIZE_4B); + AR5K_RXCFG_SDMAMW, AR5K_DMASIZE_4B);
+#endif +#endif