All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alagu Sankar <alagusankar@silex-india.com>
To: Gary Bisson <gary.bisson@boundarydevices.com>, silexcommon@gmail.com
Cc: erik.stromdahl@gmail.com, linux-wireless@vger.kernel.org,
	ath10k@lists.infradead.org
Subject: Re: [PATCH 00/11] SDIO support for ath10k
Date: Thu, 5 Oct 2017 22:54:26 +0530	[thread overview]
Message-ID: <59D66ACA.60801@silex-india.com> (raw)
In-Reply-To: <20171005151205.cymirl4wikuw4f7q@t450s.lan>

Hi Gary,

On 05-10-2017 20:42, Gary Bisson wrote:
> Hi Alagu,
>
> First of all, thank you for sharing your patches, this will be a very
> nice improvement to have SDIO QCA9377 working with ath10k.
>
> I've tried your series with Nitrogen7 [1] platform which is supported in
> mainline already. It uses BD-SDMAC [2] which uses the same module as the
> SX-SDMAC.
>
> Below are some questions/remarks I have after the testing.
>
> On Sat, Sep 30, 2017 at 11:07:37PM +0530, silexcommon at gmail.com wrote:
>> From: Alagu Sankar <alagusankar at silex-india.com>
>>
>> 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
> Quick question on the firmware, is it the one from Kalle's repository?[3]
>
> If so, where does this firmware comes from? Is 00061 the firmware
> version? So far I've only seen up to v0.0.0.60, see qcacld-2.0 output:
> Host SW:4.5.20.037, FW:0.0.0.60, HW:QCA9377_REV1_1
Yes, it is from 
https://github.com/kvalo/ath10k-firmware/tree/master/QCA9377/hw1.0/untested. 
I have also used custom firmware from QCA/Silex as used in qcacld-2.0 
driver without any issue. You need to use the firmware merger tool from 
https://github.com/erstrom/linux-ath/wiki/Firmware to combine the 
qwlan30.bin and otp30.bin to generate the firmware-sdio.bin.
>> with the board data from respective SDIO card vendors.
> About the board-sdio.bin, is it just a copy of your bdwlan30.bin?
Yes board-sdio.bin is a copy of bdwlan30.bin
>> 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
> Nice performances. Unfortunately I don't get better than 30Mbits/s in TX
> and 50Mbits/s in RX:
> # iperf -c 192.168.1.1
> ------------------------------------------------------------
> Client connecting to 192.168.1.1, TCP port 5001
> TCP window size: 43.8 KByte (default)
> ------------------------------------------------------------
> [  3] local 192.168.1.115 port 41354 connected with 192.168.1.1 port
> 5001
> [ ID] Interval       Transfer     Bandwidth
> [  3]  0.0-10.0 sec  34.9 MBytes  29.2 Mbits/sec
> # iperf -s
> ------------------------------------------------------------
> Server listening on TCP port 5001
> TCP window size: 85.3 KByte (default)
> ------------------------------------------------------------
> [  4] local 192.168.1.115 port 5001 connected with 192.168.1.1 port
> 50646
> [ ID] Interval       Transfer     Bandwidth
> [  4]  0.0-10.0 sec  63.1 MBytes  52.7 Mbits/sec
>
> Do you have any idea why? Note that qcacld-2.0 driver on that same
> platform (same OS) gives the performances you advertize (150Mbits/s).
For some reason, if I use the imx_v6_v7_defconfig as is, performance is 
very poor. In fact, the firmware download itself will take about 6 
seconds. This can also be seen when you up/down the wlan0 interface. For 
the i.MX6 SoloX board, I used the configuration of 4.1.15 as provided by 
the BSP from NXP/Freescale.  This improved the performance quite a bit. 
I haven't had a chance to spend time on this to figure out the 
difference and reason. Another difference is that the default device 
tree for SoloX did not have the correct settings to support SDIO3.x.  
Had to modify them, but did not include the device tree patches here as 
it is not meant for this group.
>> 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.
>>
>> 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
>> removae and the surprise removal of teh card.
> Here are some questions:
> - Is it normal to see a warning about board-2.bin, shouldn't it look for
>    board-sdio.bin only?
> [   14.696704] ath10k_sdio mmc1:0001:1: Direct firmware load for
> ath10k/QCA9377/hw1.0/board-2.bin failed with error -2
This was only noticed in the latest update. Like the different firmware 
versions, the driver also looks for the board-2.bin now. I have only 
tested with the board-sdio.bin
> - Did you have pre-cal and/or cal binaries for your testing?
> [   14.067159] ath10k_sdio mmc1:0001:1: Direct firmware load for
> ath10k/pre-cal-sdio-mmc1:0001:1.bin failed with error -2
> [   14.149257] ath10k_sdio mmc1:0001:1: Direct firmware load for
> ath10k/cal-sdio-mmc1:0001:1.bin failed with error -2
No. I did not use the pre-cal and cal binaries.
> Also noticed that the "tx bitrate" output of 'iw link' is wrong in my
> case:
> # iw wlan0 link
> Connected to 00:00:00:00:00:b0 (on wlan0)
> 	SSID: TPLINK_AC_5G
> 	freq: 5180
> 	RX: 72072365 bytes (67934 packets)
> 	TX: 79084128 bytes (73649 packets)
> 	signal: -35 dBm
> 	tx bitrate: 6.0 MBit/s
>
> 	bss flags:	short-slot-time
> 	dtim period:	2
> 	beacon int:	100
>
> When connecting using qcacld driver it shows 433MBit/s as expected. Is
> it working properly in your case?
Tx rate is not updated properly.  I will include it in the list of known 
issues.
> As a FYI, I've built Erik's tree[4] for this testing, should I use
> another tree instead?
I use the Kalle's ath10k tree, but when I last looked, they were pretty 
much the same, so it should not be a problem.
> Let me know your thoughts.
>
> Regards,
> Gary
>
> [1] https://boundarydevices.com/product/nitrogen7/
> [2] https://boundarydevices.com/product/bd_sdmac_wifi/
> [3] https://github.com/kvalo/ath10k-firmware/tree/master/QCA9377/hw1.0/untested
> [4] https://github.com/erstrom/linux-ath
>
Regards,
Alagu

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

WARNING: multiple messages have this Message-ID (diff)
From: Alagu Sankar <alagusankar@silex-india.com>
To: Gary Bisson <gary.bisson@boundarydevices.com>, silexcommon@gmail.com
Cc: ath10k@lists.infradead.org, linux-wireless@vger.kernel.org,
	erik.stromdahl@gmail.com
Subject: Re: [PATCH 00/11] SDIO support for ath10k
Date: Thu, 5 Oct 2017 22:54:26 +0530	[thread overview]
Message-ID: <59D66ACA.60801@silex-india.com> (raw)
In-Reply-To: <20171005151205.cymirl4wikuw4f7q@t450s.lan>

Hi Gary,

On 05-10-2017 20:42, Gary Bisson wrote:
> Hi Alagu,
>
> First of all, thank you for sharing your patches, this will be a very
> nice improvement to have SDIO QCA9377 working with ath10k.
>
> I've tried your series with Nitrogen7 [1] platform which is supported in
> mainline already. It uses BD-SDMAC [2] which uses the same module as the
> SX-SDMAC.
>
> Below are some questions/remarks I have after the testing.
>
> On Sat, Sep 30, 2017 at 11:07:37PM +0530, silexcommon at gmail.com wrote:
>> From: Alagu Sankar <alagusankar at silex-india.com>
>>
>> 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
> Quick question on the firmware, is it the one from Kalle's repository?[3]
>
> If so, where does this firmware comes from? Is 00061 the firmware
> version? So far I've only seen up to v0.0.0.60, see qcacld-2.0 output:
> Host SW:4.5.20.037, FW:0.0.0.60, HW:QCA9377_REV1_1
Yes, it is from 
https://github.com/kvalo/ath10k-firmware/tree/master/QCA9377/hw1.0/untested. 
I have also used custom firmware from QCA/Silex as used in qcacld-2.0 
driver without any issue. You need to use the firmware merger tool from 
https://github.com/erstrom/linux-ath/wiki/Firmware to combine the 
qwlan30.bin and otp30.bin to generate the firmware-sdio.bin.
>> with the board data from respective SDIO card vendors.
> About the board-sdio.bin, is it just a copy of your bdwlan30.bin?
Yes board-sdio.bin is a copy of bdwlan30.bin
>> 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
> Nice performances. Unfortunately I don't get better than 30Mbits/s in TX
> and 50Mbits/s in RX:
> # iperf -c 192.168.1.1
> ------------------------------------------------------------
> Client connecting to 192.168.1.1, TCP port 5001
> TCP window size: 43.8 KByte (default)
> ------------------------------------------------------------
> [  3] local 192.168.1.115 port 41354 connected with 192.168.1.1 port
> 5001
> [ ID] Interval       Transfer     Bandwidth
> [  3]  0.0-10.0 sec  34.9 MBytes  29.2 Mbits/sec
> # iperf -s
> ------------------------------------------------------------
> Server listening on TCP port 5001
> TCP window size: 85.3 KByte (default)
> ------------------------------------------------------------
> [  4] local 192.168.1.115 port 5001 connected with 192.168.1.1 port
> 50646
> [ ID] Interval       Transfer     Bandwidth
> [  4]  0.0-10.0 sec  63.1 MBytes  52.7 Mbits/sec
>
> Do you have any idea why? Note that qcacld-2.0 driver on that same
> platform (same OS) gives the performances you advertize (150Mbits/s).
For some reason, if I use the imx_v6_v7_defconfig as is, performance is 
very poor. In fact, the firmware download itself will take about 6 
seconds. This can also be seen when you up/down the wlan0 interface. For 
the i.MX6 SoloX board, I used the configuration of 4.1.15 as provided by 
the BSP from NXP/Freescale.  This improved the performance quite a bit. 
I haven't had a chance to spend time on this to figure out the 
difference and reason. Another difference is that the default device 
tree for SoloX did not have the correct settings to support SDIO3.x.  
Had to modify them, but did not include the device tree patches here as 
it is not meant for this group.
>> 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.
>>
>> 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
>> removae and the surprise removal of teh card.
> Here are some questions:
> - Is it normal to see a warning about board-2.bin, shouldn't it look for
>    board-sdio.bin only?
> [   14.696704] ath10k_sdio mmc1:0001:1: Direct firmware load for
> ath10k/QCA9377/hw1.0/board-2.bin failed with error -2
This was only noticed in the latest update. Like the different firmware 
versions, the driver also looks for the board-2.bin now. I have only 
tested with the board-sdio.bin
> - Did you have pre-cal and/or cal binaries for your testing?
> [   14.067159] ath10k_sdio mmc1:0001:1: Direct firmware load for
> ath10k/pre-cal-sdio-mmc1:0001:1.bin failed with error -2
> [   14.149257] ath10k_sdio mmc1:0001:1: Direct firmware load for
> ath10k/cal-sdio-mmc1:0001:1.bin failed with error -2
No. I did not use the pre-cal and cal binaries.
> Also noticed that the "tx bitrate" output of 'iw link' is wrong in my
> case:
> # iw wlan0 link
> Connected to 00:00:00:00:00:b0 (on wlan0)
> 	SSID: TPLINK_AC_5G
> 	freq: 5180
> 	RX: 72072365 bytes (67934 packets)
> 	TX: 79084128 bytes (73649 packets)
> 	signal: -35 dBm
> 	tx bitrate: 6.0 MBit/s
>
> 	bss flags:	short-slot-time
> 	dtim period:	2
> 	beacon int:	100
>
> When connecting using qcacld driver it shows 433MBit/s as expected. Is
> it working properly in your case?
Tx rate is not updated properly.  I will include it in the list of known 
issues.
> As a FYI, I've built Erik's tree[4] for this testing, should I use
> another tree instead?
I use the Kalle's ath10k tree, but when I last looked, they were pretty 
much the same, so it should not be a problem.
> Let me know your thoughts.
>
> Regards,
> Gary
>
> [1] https://boundarydevices.com/product/nitrogen7/
> [2] https://boundarydevices.com/product/bd_sdmac_wifi/
> [3] https://github.com/kvalo/ath10k-firmware/tree/master/QCA9377/hw1.0/untested
> [4] https://github.com/erstrom/linux-ath
>
Regards,
Alagu

  reply	other threads:[~2017-10-05 17:25 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-30 17:37 [PATCH 00/11] SDIO support for ath10k silexcommon
2017-09-30 17:37 ` silexcommon
2017-09-30 17:37 ` [PATCH 01/11] ath10k_sdio: sdio htt data transfer fixes silexcommon
2017-09-30 17:37   ` silexcommon
2017-10-02  7:36   ` Arend van Spriel
2017-10-02  7:36     ` Arend van Spriel
2017-10-02  7:44     ` Alagu Sankar
2017-10-02  7:44       ` Alagu Sankar
2017-10-04  8:55     ` Kalle Valo
2017-10-04  8:55       ` Kalle Valo
2017-09-30 17:37 ` [PATCH 02/11] ath10k_sdio: wb396 reference card fix silexcommon
2017-09-30 17:37   ` silexcommon
2017-10-01 22:47   ` Steve deRosier
2017-10-01 22:47     ` Steve deRosier
2017-10-02  7:02     ` Alagu Sankar
2017-10-02  7:02       ` Alagu Sankar
2017-10-02  9:06       ` Erik Stromdahl
2017-10-02  9:06         ` Erik Stromdahl
2017-09-30 17:37 ` [PATCH 03/11] ath10k_sdio: DMA bounce buffers for read write silexcommon
2017-09-30 17:37   ` silexcommon
2017-12-22 16:08   ` Kalle Valo
2017-12-22 16:08     ` Kalle Valo
2017-12-25 12:26     ` Alagu Sankar
2017-12-25 12:26       ` Alagu Sankar
2017-12-25 16:11       ` Adrian Chadd
2017-12-25 16:11         ` Adrian Chadd
2017-12-27 18:49       ` Arend van Spriel
2017-12-27 18:49         ` Arend van Spriel
2017-12-27 19:26         ` Adrian Chadd
2017-12-27 19:26           ` Adrian Chadd
2018-01-08 12:58       ` Kalle Valo
2018-01-08 12:58         ` Kalle Valo
2017-09-30 17:37 ` [PATCH 04/11] ath10k_sdio: reduce transmit msdu count silexcommon
2017-09-30 17:37   ` silexcommon
2017-09-30 17:37 ` [PATCH 05/11] ath10k_sdio: use clean packet headers silexcommon
2017-09-30 17:37   ` silexcommon
2017-09-30 17:37 ` [PATCH 06/11] ath10k_sdio: high latency fixes for beacon buffer silexcommon
2017-09-30 17:37   ` silexcommon
2017-09-30 17:37 ` [PATCH 07/11] ath10k_sdio: fix rssi indication silexcommon
2017-09-30 17:37   ` silexcommon
2017-09-30 17:37 ` [PATCH 08/11] ath10k_sdio: common read write silexcommon
2017-09-30 17:37   ` silexcommon
2017-10-04  9:49   ` Kalle Valo
2017-10-04  9:49     ` Kalle Valo
2017-10-05 10:09   ` [08/11] " Gary Bisson
2017-10-05 10:09     ` Gary Bisson
2017-10-05 17:33     ` Alagu Sankar
2017-10-05 17:33       ` Alagu Sankar
2017-12-08 14:42       ` Gary Bisson
2017-12-08 14:42         ` Gary Bisson
2017-09-30 17:37 ` [PATCH 09/11] ath10k_sdio: virtual scatter gather for receive silexcommon
2017-09-30 17:37   ` silexcommon
2017-10-04 19:56   ` Erik Stromdahl
2017-10-04 19:56     ` Erik Stromdahl
2017-09-30 17:37 ` [PATCH 10/11] ath10k_sdio: enable firmware crash dump silexcommon
2017-09-30 17:37   ` silexcommon
2017-09-30 17:37 ` [PATCH 11/11] ath10k_sdio: hif start once addition silexcommon
2017-09-30 17:37   ` silexcommon
2017-10-02  9:02 ` [PATCH 00/11] SDIO support for ath10k Erik Stromdahl
2017-10-02  9:02   ` Erik Stromdahl
2017-10-04  6:22   ` Alagu Sankar
2017-10-04  6:22     ` Alagu Sankar
2017-10-04 15:53     ` Erik Stromdahl
2017-10-04 15:53       ` Erik Stromdahl
2017-10-05 15:12 ` Gary Bisson
2017-10-05 15:12   ` Gary Bisson
2017-10-05 17:24   ` Alagu Sankar [this message]
2017-10-05 17:24     ` Alagu Sankar
2017-10-06 11:16     ` Gary Bisson
2017-10-06 11:16       ` Gary Bisson
2017-12-18 16:19       ` Gary Bisson
2017-12-18 16:19         ` Gary Bisson
2017-12-22 16:21         ` Kalle Valo
2017-12-22 16:21           ` Kalle Valo
2017-12-22 16:25 ` Kalle Valo
2017-12-22 16:25   ` Kalle Valo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=59D66ACA.60801@silex-india.com \
    --to=alagusankar@silex-india.com \
    --cc=ath10k@lists.infradead.org \
    --cc=erik.stromdahl@gmail.com \
    --cc=gary.bisson@boundarydevices.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=silexcommon@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.