1. 25 Nov, 2019 3 commits
    • Wen Gong's avatar
      ath10k: add workqueue for RX path of sdio · 67654b26
      Wen Gong authored
      For RX, it has two parts, one is to read data from sdio, another
      is to indicate the packets to upper stack. Recently it has only
      one thread to do all RX things, it results that it is sequential
      for RX and low throughout, change RX to parallel for the two parts
      will increase throughout.
      
      This patch move the indication to a workqueue, it results in
      significant performance improvement on RX path.
      
      Udp rx throughout is 200Mbps without this patch, and it arrives
      400Mbps with this patch.
      
      Tested with QCA6174 SDIO with firmware
      WLAN.RMH.4.4.1-00017-QCARMSWPZ-1
      Signed-off-by: default avatarWen Gong <wgong@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      67654b26
    • Wen Gong's avatar
      ath10k: change max RX bundle size from 8 to 32 for sdio · 22477652
      Wen Gong authored
      The max bundle size support by firmware is 32, change it from 8 to 32
      will help performance. This results in significant performance
      improvement on RX path.
      
      The real max rx bundle is decided in ath10k_htc_wait_target(),
      it is the min value of HTC_HOST_MAX_MSG_PER_RX_BUNDLE and the value reported
      from firmware. So this change shouldn't cause any regressions with other
      hardware supported by ath10k.
      
      Tested with QCA6174 SDIO with firmware WLAN.RMH.4.4.1-00017-QCARMSWPZ-1.
      Signed-off-by: default avatarWen Gong <wgong@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      22477652
    • Alagu Sankar's avatar
      ath10k: enable RX bundle receive for sdio · 8d985555
      Alagu Sankar authored
      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: default avatarAlagu Sankar <alagusankar@silex-india.com>
      Signed-off-by: default avatarWen Gong <wgong@codeaurora.org>
      Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
      8d985555
  2. 15 Nov, 2019 3 commits
  3. 08 Nov, 2019 3 commits
  4. 06 Nov, 2019 31 commits