aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43/dma.h
diff options
context:
space:
mode:
authorMichael Buesch <mb@bu3sch.de>2009-02-19 17:45:43 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-02-27 14:52:48 -0500
commitbdceeb2dad5c8487ffeb4d0fa949686e4350ec7f (patch)
treea980d4cb770bf47a939206fc9fbb92deb3232938 /drivers/net/wireless/b43/dma.h
parent8eccb53f1b858c9bd0b745f839174725b76508ec (diff)
b43: Optimize DMA buffers
In the old days we used one slot per frame. But when we changed that to 2, we didn't raise the overall slot count. Which resulted in an effective division of two to the number of slots. Double the number of TX slots, so we have an effective hardware queue of 128 frames per QoS queue. Also optimize the TX header cache handling. We don't need a cached TX header for slots that will never carry an actual header. So we reduce the memory consumption of the cache by 50%. So as a net result we end up with more or less the same memory usage before and after this patch (except a few tiny meta structures), but have twice the number of TX slots available. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43/dma.h')
-rw-r--r--drivers/net/wireless/b43/dma.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/b43/dma.h b/drivers/net/wireless/b43/dma.h
index 4ec24e8f4fd7..05dde646d831 100644
--- a/drivers/net/wireless/b43/dma.h
+++ b/drivers/net/wireless/b43/dma.h
@@ -162,7 +162,7 @@ struct b43_dmadesc_generic {
162#define B43_DMA0_RX_FRAMEOFFSET 30 162#define B43_DMA0_RX_FRAMEOFFSET 30
163 163
164/* DMA engine tuning knobs */ 164/* DMA engine tuning knobs */
165#define B43_TXRING_SLOTS 128 165#define B43_TXRING_SLOTS 256
166#define B43_RXRING_SLOTS 64 166#define B43_RXRING_SLOTS 64
167#define B43_DMA0_RX_BUFFERSIZE IEEE80211_MAX_FRAME_LEN 167#define B43_DMA0_RX_BUFFERSIZE IEEE80211_MAX_FRAME_LEN
168 168
@@ -212,7 +212,7 @@ struct b43_dmaring {
212 void *descbase; 212 void *descbase;
213 /* Meta data about all descriptors. */ 213 /* Meta data about all descriptors. */
214 struct b43_dmadesc_meta *meta; 214 struct b43_dmadesc_meta *meta;
215 /* Cache of TX headers for each slot. 215 /* Cache of TX headers for each TX frame.
216 * This is to avoid an allocation on each TX. 216 * This is to avoid an allocation on each TX.
217 * This is NULL for an RX ring. 217 * This is NULL for an RX ring.
218 */ 218 */