On 2017-10-04 08:22, Alagu Sankar wrote:
Hi Erik,
We will work to have this support mainlined as soon as possible. Would appreciate your support
in making sure that the patches do not affect the USB high latency path.
I have added the patches in my own ath-repo and I have tested with the
WUSB6100M without any problems.
On 02-10-2017 14:32, Erik Stromdahl wrote:
Hi Alagu,
It is great to see that we are finally about have fully working
mainline support for QCA9377 SDIO chipsets!
Great job!
On 2017-09-30 19:37, silexcommon@xxxxxxxxx wrote:
From: Alagu Sankar <alagusankar@xxxxxxxxxxxxxxx>
This patchset, generated against master-pending branch, enables a fully
functional SDIO interface driver for ath10k. Patches have been verified on
QCA9377-3 WB396 and Silex's SX-SDCAC reference cards with Station, Access Point
and P2P modes.
The driver is verified with the firmware WLAN.TF.1.1.1-00061-QCATFSWPZ-1
with the board data from respective SDIO card vendors. Receive performance
matches the QCA reference driver when used with SDIO3.0 enabled platforms.
iperf tests indicate a downlink UDP of 275Mbit/s and TCP of 150Mbit/s
Can you share any scripts etc. (wrapping hostapd and wpa_supplicant stuff)
or provide some more info about you test setup?
I am not using any specific scripts for this. The standard ones from the ath10k configuration page
https://wireless.wiki.kernel.org/en/users/drivers/ath10k/configuration works just fine with the
NL80211 path.
I made a quick socat based test on an old laptop (I don't think it has SDIO
3.0 support) and I did unfortunately not get the same figures as you did :(
If it is SDIO v1.x, then the max bus speed is only 100Mbit/s. With v2.x it is 200Mbit/s and 3.x it is
832 Mbit/s. Throughput primarily depends on it. We used i.MX6 SoloX Sabre SDB platform
which supports SDIO3.x and could see the maximum performance.
This patchset differs from the previous high latency patches, specific to SDIO.
HI_ACS_FLAGS_SDIO_REDUCE_TX_COMPL_SET is enabled for HI_ACS. This instructs the
firmware to use HTT_T2H_MSG_TYPE_TX_COMPL_IND for outgoing packets. Without
this flag, the management frames are not sent out by the firmware. Possibility
of management frames being sent via WMI and data frames through the reduced Tx
completion needs to be probed further.
Ah, so that explains why I couldn't see any messages in the air.
Further improvements can be done on the transmit path by implementing packet
bundle. Scatter Gather is another area of improvement for both Transmit and
Receive, but may not work on all platforms
Known issues: Surprise removal of the card, when the device is in connected
state, delays sdio function remove due to delayed WMI command failures.
Existing ath10k framework can not differentiate between a kernel module
removal and the surprise removal of teh card.
Alagu Sankar (11):
ath10k_sdio: sdio htt data transfer fixes
ath10k_sdio: wb396 reference card fix
ath10k_sdio: DMA bounce buffers for read write
ath10k_sdio: reduce transmit msdu count
ath10k_sdio: use clean packet headers
ath10k_sdio: high latency fixes for beacon buffer
ath10k_sdio: fix rssi indication
ath10k_sdio: common read write
ath10k_sdio: virtual scatter gather for receive
ath10k_sdio: enable firmware crash dump
ath10k_sdio: hif start once addition
drivers/net/wireless/ath/ath10k/core.c | 35 ++-
drivers/net/wireless/ath/ath10k/debug.c | 3 +
drivers/net/wireless/ath/ath10k/htc.c | 4 +-
drivers/net/wireless/ath/ath10k/htc.h | 1 +
drivers/net/wireless/ath/ath10k/htt_rx.c | 19 +-
drivers/net/wireless/ath/ath10k/htt_tx.c | 24 +-
drivers/net/wireless/ath/ath10k/hw.c | 2 +
drivers/net/wireless/ath/ath10k/hw.h | 1 +
drivers/net/wireless/ath/ath10k/mac.c | 31 ++-
drivers/net/wireless/ath/ath10k/sdio.c | 398 ++++++++++++++++++++++--------
drivers/net/wireless/ath/ath10k/sdio.h | 10 +-
drivers/net/wireless/ath/ath10k/wmi-tlv.c | 2 +-
12 files changed, 403 insertions(+), 127 deletions(-)