summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/wl1271.h
diff options
context:
space:
mode:
authorIdo Yariv2010-09-30 13:28:27 +0200
committerLuciano Coelho2010-10-05 15:27:29 +0200
commit1f37cbc9363462c99794699442da39f36be0aaf7 (patch)
tree3f7bf42c5fa78b08010071da8f1977234e255c64 /drivers/net/wireless/wl12xx/wl1271.h
parentwl1271: Handle large SPI transfers (diff)
downloadkernel-qcow2-linux-1f37cbc9363462c99794699442da39f36be0aaf7.tar.gz
kernel-qcow2-linux-1f37cbc9363462c99794699442da39f36be0aaf7.tar.xz
kernel-qcow2-linux-1f37cbc9363462c99794699442da39f36be0aaf7.zip
wl1271: Support firmware RX packet aggregation
Instead of retrieving one packet at a time from the firmware, try to retrieve all available packets at once. This optimization decreases the number of transactions, which saves CPU cycles and increases network throughput. Signed-off-by: Ido Yariv <ido@wizery.com> Tested-by: Juuso Oikarinen <juuso.oikarinen@nokia.com> Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/wl1271.h')
-rw-r--r--drivers/net/wireless/wl12xx/wl1271.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1271.h b/drivers/net/wireless/wl12xx/wl1271.h
index 779b130fdb3e..8a4cd763e5a2 100644
--- a/drivers/net/wireless/wl12xx/wl1271.h
+++ b/drivers/net/wireless/wl12xx/wl1271.h
@@ -130,6 +130,8 @@ enum {
#define ACX_TX_DESCRIPTORS 32
+#define WL1271_AGGR_BUFFER_SIZE (4 * PAGE_SIZE)
+
enum wl1271_state {
WL1271_STATE_OFF,
WL1271_STATE_ON,
@@ -408,6 +410,9 @@ struct wl1271 {
/* Rx memory pool address */
struct wl1271_rx_mem_pool_addr rx_mem_pool_addr;
+ /* Intermediate buffer, used for packet aggregation */
+ u8 *aggr_buf;
+
/* The target interrupt mask */
struct work_struct irq_work;