The bottleneck of throughout on sdio chip is the bus bandwidth, to the patches are all to increase the use ratio of sdio bus. udp-rx udp-tx tcp-rx tcp-tx without patches(Mbps) 320 180 170 151 with patches(Mbps) 450 410 400 320 These patches only affect sdio bus chip, explanation is mentioned in each patch's commit log. Alagu Sankar (1): ath10k: enable RX bundle receive for sdio v2: fix incorrect skb tail of rx bundle in ath10k_sdio_mbox_rx_process_packet v3: change some code style split fix incorrect skb tail of rx bundle to patch "adjust skb length in ath10k_sdio_mbox_rx_packet" Wen Gong (7): ath10k: adjust skb length in ath10k_sdio_mbox_rx_packet v2:no this patch v2:new added ath10k: change max RX bundle size from 8 to 32 for sdio v2:change macro HTC_GET_BUNDLE_COUNT v3:change some code style ath10k: add workqueue for RX path of sdio v2:no change v3:change some code style ath10k: disable TX complete indication of htt for sdio v2:change some code style v3:change some code style ath10k: add htt TX bundle for sdio v2:no change v3:change some code style ath10k: enable alt data of TX path for sdio v2:no change v3:change some code style ath10k: enable napi on RX path for sdio v2:no change v3:change some code style drivers/net/wireless/ath/ath10k/core.c | 42 +++- drivers/net/wireless/ath/ath10k/core.h | 4 +- drivers/net/wireless/ath/ath10k/hif.h | 9 + drivers/net/wireless/ath/ath10k/htc.c | 376 ++++++++++++++++++++++++++++--- drivers/net/wireless/ath/ath10k/htc.h | 43 +++- drivers/net/wireless/ath/ath10k/htt.c | 15 ++ drivers/net/wireless/ath/ath10k/htt.h | 20 +- drivers/net/wireless/ath/ath10k/htt_rx.c | 80 ++++++- drivers/net/wireless/ath/ath10k/htt_tx.c | 38 +++- drivers/net/wireless/ath/ath10k/hw.h | 2 +- drivers/net/wireless/ath/ath10k/sdio.c | 279 ++++++++++++++++++++--- drivers/net/wireless/ath/ath10k/sdio.h | 31 ++- 12 files changed, 844 insertions(+), 95 deletions(-) -- 1.9.1