diff options
author | Felix Fietkau <nbd@openwrt.org> | 2013-10-11 17:30:52 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-10-14 13:39:58 -0400 |
commit | 1a04d59d3ec982689552077172893b6836def984 (patch) | |
tree | 7973659757e31fa83614ac2c503a984876548fbe /drivers/net/wireless/ath/ath9k/ath9k.h | |
parent | 50d60c6322f14e32bc11635732c54db1447fd3f5 (diff) |
ath9k: use a separate data structure for rx buffers
There's no shared code for handling both rx and tx buffers, and tx
buffers require a lot more metadata than rx buffers.
Using a separate data structure for rx reduces memory usage and improves
cache footprint.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/ath9k.h')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ath9k.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h b/drivers/net/wireless/ath/ath9k/ath9k.h index 8878f2dada2d..83c045549db4 100644 --- a/drivers/net/wireless/ath/ath9k/ath9k.h +++ b/drivers/net/wireless/ath/ath9k/ath9k.h | |||
@@ -207,6 +207,14 @@ struct ath_frame_info { | |||
207 | u8 baw_tracked : 1; | 207 | u8 baw_tracked : 1; |
208 | }; | 208 | }; |
209 | 209 | ||
210 | struct ath_rxbuf { | ||
211 | struct list_head list; | ||
212 | struct sk_buff *bf_mpdu; | ||
213 | void *bf_desc; | ||
214 | dma_addr_t bf_daddr; | ||
215 | dma_addr_t bf_buf_addr; | ||
216 | }; | ||
217 | |||
210 | struct ath_buf_state { | 218 | struct ath_buf_state { |
211 | u8 bf_type; | 219 | u8 bf_type; |
212 | u8 bfs_paprd; | 220 | u8 bfs_paprd; |
@@ -307,7 +315,7 @@ struct ath_rx { | |||
307 | struct ath_descdma rxdma; | 315 | struct ath_descdma rxdma; |
308 | struct ath_rx_edma rx_edma[ATH9K_RX_QUEUE_MAX]; | 316 | struct ath_rx_edma rx_edma[ATH9K_RX_QUEUE_MAX]; |
309 | 317 | ||
310 | struct ath_buf *buf_hold; | 318 | struct ath_rxbuf *buf_hold; |
311 | struct sk_buff *frag; | 319 | struct sk_buff *frag; |
312 | 320 | ||
313 | u32 ampdu_ref; | 321 | u32 ampdu_ref; |