The WL1271 HW supports sending and receiving multiple packets within a single transaction. This can substantially reduce CPU usage and increase network throughput. The following patches add support for RX and TX packet aggregation. An opportunistic approach was taken - all packets that are currently available for sending/receiving are aggregated and transferred in a single transaction. On SPI platforms, tests done by Juuso Oikarinen have shown a 20% improvement in CPU usage. On SDIO platforms, some tests have shown an improvement of over 30% in CPU usage. Changes since v1: The SPI callbacks do not handle large transfers well. The first patch fixes this by fragmenting large transfers into smaller ones. Thanks Juuso Oikarinen for reporting the SPI issue and helping with testing and benchmarking these optimizations. Ido Yariv (3): wl1271: Handle large SPI transfers wl1271: Support firmware RX packet aggregation wl1271: Support firmware TX packet aggregation drivers/net/wireless/wl12xx/wl1271.h | 5 + drivers/net/wireless/wl12xx/wl1271_main.c | 15 +++- drivers/net/wireless/wl12xx/wl1271_rx.c | 63 ++++++++++---- drivers/net/wireless/wl12xx/wl1271_spi.c | 132 ++++++++++++++++++----------- drivers/net/wireless/wl12xx/wl1271_tx.c | 99 ++++++++-------------- 5 files changed, 185 insertions(+), 129 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html