ath10k: enable RX bundle receive for sdio
authorAlagu Sankar <alagusankar@silex-india.com>
Fri, 15 Nov 2019 07:20:58 +0000 (09:20 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 25 Nov 2019 11:47:06 +0000 (13:47 +0200)
commit8d985555ddaa6735c5d1f3d6e4d4d9cb47f27878
treec624537d898ea6b97d3375672e42106797d95a72
parent3c33a11a291303db4b96b5e39dfd54831937bfa5
ath10k: enable RX bundle receive for sdio

The existing implementation of initiating multiple sdio transfers for
receive bundling is slowing down the receive speed. Combining the
transfers using a bundle method would be ideal.

The transmission utilization ratio for sdio bus for small packet is
slow, because the space and time cost for sdio bus is same for large
length packet and small length packet. So the speed of data for large
length packet is higher than small length.

Test result of different length of data:
data packet(byte)   cost time(us)   calculated rate(Mbps)
      256               28                73
      512               33               124
     1024               35               234
     1792               45               318
    14336              168               682
    28672              333               688
    57344              660               695

Tested with QCA6174 SDIO with firmware
WLAN.RMH.4.4.1-00017-QCARMSWPZ-1

Signed-off-by: Alagu Sankar <alagusankar@silex-india.com>
Signed-off-by: Wen Gong <wgong@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath10k/sdio.c
drivers/net/wireless/ath/ath10k/sdio.h