ath10k: add workqueue for RX path of sdio
authorWen Gong <wgong@codeaurora.org>
Fri, 15 Nov 2019 07:21:03 +0000 (09:21 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 25 Nov 2019 11:47:28 +0000 (13:47 +0200)
commit67654b26c903de9949202f23f4864a74a09e22d5
treed03a143a1b987d29b31f4281bd518a8f2d3755d6
parent224776520ead69e9e85e33e5eb8c705c3552c4e1
ath10k: add workqueue for RX path of sdio

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: Wen Gong <wgong@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath10k/core.h
drivers/net/wireless/ath/ath10k/htt_rx.c
drivers/net/wireless/ath/ath10k/sdio.c
drivers/net/wireless/ath/ath10k/sdio.h