ath10k.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ath10k: Clean the HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE flag
@ 2021-09-15 16:04 Fabio Estevam
  2021-11-15 18:06 ` Fabio Estevam
  0 siblings, 1 reply; 7+ messages in thread
From: Fabio Estevam @ 2021-09-15 16:04 UTC (permalink / raw)
  To: kvalo
  Cc: wgong, ath10k, linux-wireless, erik.stromdahl, alagusankar,
	Fabio Estevam

On an imx6dl-pico-pi board with a QCA9377 SDIO chip, the following
errors are observed when the board works in STA mode:

Simply running "ssh user@192.168.0.1" causes:

[   55.824159] ath10k_sdio mmc1:0001:1: failed to transmit packet, dropping: -12
[   55.832169] ath10k_sdio mmc1:0001:1: failed to submit frame: -12
[   55.838529] ath10k_sdio mmc1:0001:1: failed to push frame: -12
[   55.905863] ath10k_sdio mmc1:0001:1: failed to transmit packet, dropping: -12
[   55.913650] ath10k_sdio mmc1:0001:1: failed to submit frame: -12
[   55.919887] ath10k_sdio mmc1:0001:1: failed to push frame: -12

and it is not possible to connect via ssh to the other machine.

One user inspected the size of frames on Wireshark and reported
the followig:

"I was able to narrow the issue down to the mtu. If I set the mtu for
the wlan0 device to 1486 instead of 1500, the issue does not happen.

The size of frames that I see on Wireshark is exactly 1500 after
setting it to 1486."

Clearing the HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE avoids the problem and
the ssh command works successfully after that.

Tested with QCA9377 SDIO with firmware WLAN.TF.1.1.1-00061-QCATFSWPZ-1.

Fixes: 2f918ea98606 ("ath10k: enable alt data of TX path for sdio")
Signed-off-by: Fabio Estevam <festevam@denx.de>
---
 drivers/net/wireless/ath/ath10k/core.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
index 2f9be182fbfb..728a18b3b462 100644
--- a/drivers/net/wireless/ath/ath10k/core.c
+++ b/drivers/net/wireless/ath/ath10k/core.c
@@ -730,11 +730,7 @@ static int ath10k_init_sdio(struct ath10k *ar, enum ath10k_firmware_mode mode)
 		return ret;
 
 	param |= HI_ACS_FLAGS_SDIO_REDUCE_TX_COMPL_SET;
-
-	if (mode == ATH10K_FIRMWARE_MODE_NORMAL)
-		param |= HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE;
-	else
-		param &= ~HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE;
+	param &= ~HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE;
 
 	if (mode == ATH10K_FIRMWARE_MODE_UTF)
 		param &= ~HI_ACS_FLAGS_SDIO_SWAP_MAILBOX_SET;
-- 
2.25.1


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

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] ath10k: Clean the HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE flag
  2021-09-15 16:04 [PATCH] ath10k: Clean the HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE flag Fabio Estevam
@ 2021-11-15 18:06 ` Fabio Estevam
  2021-11-24  3:26   ` Fabio Estevam
  0 siblings, 1 reply; 7+ messages in thread
From: Fabio Estevam @ 2021-11-15 18:06 UTC (permalink / raw)
  To: Kalle Valo
  Cc: Fabio Estevam, wgong, ath10k, linux-wireless, erik.stromdahl,
	alagusankar

Hi Kalle,

On Wed, Sep 15, 2021 at 1:05 PM Fabio Estevam <festevam@denx.de> wrote:
>
> On an imx6dl-pico-pi board with a QCA9377 SDIO chip, the following
> errors are observed when the board works in STA mode:
>
> Simply running "ssh user@192.168.0.1" causes:
>
> [   55.824159] ath10k_sdio mmc1:0001:1: failed to transmit packet, dropping: -12
> [   55.832169] ath10k_sdio mmc1:0001:1: failed to submit frame: -12
> [   55.838529] ath10k_sdio mmc1:0001:1: failed to push frame: -12
> [   55.905863] ath10k_sdio mmc1:0001:1: failed to transmit packet, dropping: -12
> [   55.913650] ath10k_sdio mmc1:0001:1: failed to submit frame: -12
> [   55.919887] ath10k_sdio mmc1:0001:1: failed to push frame: -12
>
> and it is not possible to connect via ssh to the other machine.
>
> One user inspected the size of frames on Wireshark and reported
> the followig:
>
> "I was able to narrow the issue down to the mtu. If I set the mtu for
> the wlan0 device to 1486 instead of 1500, the issue does not happen.
>
> The size of frames that I see on Wireshark is exactly 1500 after
> setting it to 1486."
>
> Clearing the HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE avoids the problem and
> the ssh command works successfully after that.
>
> Tested with QCA9377 SDIO with firmware WLAN.TF.1.1.1-00061-QCATFSWPZ-1.
>
> Fixes: 2f918ea98606 ("ath10k: enable alt data of TX path for sdio")
> Signed-off-by: Fabio Estevam <festevam@denx.de>

A gentle ping on this one.

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] ath10k: Clean the HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE flag
  2021-11-15 18:06 ` Fabio Estevam
@ 2021-11-24  3:26   ` Fabio Estevam
  2021-11-24  7:46     ` Kalle Valo
  0 siblings, 1 reply; 7+ messages in thread
From: Fabio Estevam @ 2021-11-24  3:26 UTC (permalink / raw)
  To: Kalle Valo
  Cc: Fabio Estevam, wgong, ath10k, linux-wireless, erik.stromdahl,
	alagusankar

Hi Kalle,

On Mon, Nov 15, 2021 at 3:06 PM Fabio Estevam <festevam@gmail.com> wrote:
>
> Hi Kalle,
>
> On Wed, Sep 15, 2021 at 1:05 PM Fabio Estevam <festevam@denx.de> wrote:
> >
> > On an imx6dl-pico-pi board with a QCA9377 SDIO chip, the following
> > errors are observed when the board works in STA mode:
> >
> > Simply running "ssh user@192.168.0.1" causes:
> >
> > [   55.824159] ath10k_sdio mmc1:0001:1: failed to transmit packet, dropping: -12
> > [   55.832169] ath10k_sdio mmc1:0001:1: failed to submit frame: -12
> > [   55.838529] ath10k_sdio mmc1:0001:1: failed to push frame: -12
> > [   55.905863] ath10k_sdio mmc1:0001:1: failed to transmit packet, dropping: -12
> > [   55.913650] ath10k_sdio mmc1:0001:1: failed to submit frame: -12
> > [   55.919887] ath10k_sdio mmc1:0001:1: failed to push frame: -12
> >
> > and it is not possible to connect via ssh to the other machine.
> >
> > One user inspected the size of frames on Wireshark and reported
> > the followig:
> >
> > "I was able to narrow the issue down to the mtu. If I set the mtu for
> > the wlan0 device to 1486 instead of 1500, the issue does not happen.
> >
> > The size of frames that I see on Wireshark is exactly 1500 after
> > setting it to 1486."
> >
> > Clearing the HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE avoids the problem and
> > the ssh command works successfully after that.
> >
> > Tested with QCA9377 SDIO with firmware WLAN.TF.1.1.1-00061-QCATFSWPZ-1.
> >
> > Fixes: 2f918ea98606 ("ath10k: enable alt data of TX path for sdio")
> > Signed-off-by: Fabio Estevam <festevam@denx.de>
>
> A gentle ping on this one.

Any comments, please? Without this fix, we can not log via ssh to other machine.

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] ath10k: Clean the HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE flag
  2021-11-24  3:26   ` Fabio Estevam
@ 2021-11-24  7:46     ` Kalle Valo
  2021-11-24  7:55       ` Wen Gong
  0 siblings, 1 reply; 7+ messages in thread
From: Kalle Valo @ 2021-11-24  7:46 UTC (permalink / raw)
  To: Fabio Estevam
  Cc: Fabio Estevam, Wen Gong, ath10k, linux-wireless, erik.stromdahl,
	alagusankar

Fabio Estevam <festevam@gmail.com> writes:

> Hi Kalle,
>
> On Mon, Nov 15, 2021 at 3:06 PM Fabio Estevam <festevam@gmail.com> wrote:
>>
>> Hi Kalle,
>>
>> On Wed, Sep 15, 2021 at 1:05 PM Fabio Estevam <festevam@denx.de> wrote:
>> >
>> > On an imx6dl-pico-pi board with a QCA9377 SDIO chip, the following
>> > errors are observed when the board works in STA mode:
>> >
>> > Simply running "ssh user@192.168.0.1" causes:
>> >
>> > [   55.824159] ath10k_sdio mmc1:0001:1: failed to transmit packet, dropping: -12
>> > [   55.832169] ath10k_sdio mmc1:0001:1: failed to submit frame: -12
>> > [   55.838529] ath10k_sdio mmc1:0001:1: failed to push frame: -12
>> > [   55.905863] ath10k_sdio mmc1:0001:1: failed to transmit packet, dropping: -12
>> > [   55.913650] ath10k_sdio mmc1:0001:1: failed to submit frame: -12
>> > [   55.919887] ath10k_sdio mmc1:0001:1: failed to push frame: -12
>> >
>> > and it is not possible to connect via ssh to the other machine.
>> >
>> > One user inspected the size of frames on Wireshark and reported
>> > the followig:
>> >
>> > "I was able to narrow the issue down to the mtu. If I set the mtu for
>> > the wlan0 device to 1486 instead of 1500, the issue does not happen.
>> >
>> > The size of frames that I see on Wireshark is exactly 1500 after
>> > setting it to 1486."
>> >
>> > Clearing the HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE avoids the problem and
>> > the ssh command works successfully after that.
>> >
>> > Tested with QCA9377 SDIO with firmware WLAN.TF.1.1.1-00061-QCATFSWPZ-1.
>> >
>> > Fixes: 2f918ea98606 ("ath10k: enable alt data of TX path for sdio")
>> > Signed-off-by: Fabio Estevam <festevam@denx.de>
>>
>> A gentle ping on this one.
>
> Any comments, please? Without this fix, we can not log via ssh to other machine.

I don't have much time for ath10k nowadays, so expect long delays in
reviews.

I'm worried that this breaks QCA6174 SDIO support. Wen, what do you
think of this? Is this because of differences between firmware versions
or what?

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] ath10k: Clean the HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE flag
  2021-11-24  7:46     ` Kalle Valo
@ 2021-11-24  7:55       ` Wen Gong
  2021-11-24  8:05         ` Kalle Valo
  0 siblings, 1 reply; 7+ messages in thread
From: Wen Gong @ 2021-11-24  7:55 UTC (permalink / raw)
  To: Kalle Valo, Fabio Estevam
  Cc: Fabio Estevam, ath10k, linux-wireless, erik.stromdahl, alagusankar

On 11/24/2021 3:46 PM, Kalle Valo wrote:
> Fabio Estevam <festevam@gmail.com> writes:
>
>> Hi Kalle,
>>
>> On Mon, Nov 15, 2021 at 3:06 PM Fabio Estevam <festevam@gmail.com> wrote:
>>> Hi Kalle,
>>>
>>> On Wed, Sep 15, 2021 at 1:05 PM Fabio Estevam <festevam@denx.de> wrote:
>>>> On an imx6dl-pico-pi board with a QCA9377 SDIO chip, the following
>>>> errors are observed when the board works in STA mode:
>>>>
>>>> Simply running "ssh user@192.168.0.1" causes:
>>>>
>>>> [   55.824159] ath10k_sdio mmc1:0001:1: failed to transmit packet, dropping: -12
>>>> [   55.832169] ath10k_sdio mmc1:0001:1: failed to submit frame: -12
>>>> [   55.838529] ath10k_sdio mmc1:0001:1: failed to push frame: -12
>>>> [   55.905863] ath10k_sdio mmc1:0001:1: failed to transmit packet, dropping: -12
>>>> [   55.913650] ath10k_sdio mmc1:0001:1: failed to submit frame: -12
>>>> [   55.919887] ath10k_sdio mmc1:0001:1: failed to push frame: -12
>>>>
>>>> and it is not possible to connect via ssh to the other machine.
>>>>
>>>> One user inspected the size of frames on Wireshark and reported
>>>> the followig:
>>>>
>>>> "I was able to narrow the issue down to the mtu. If I set the mtu for
>>>> the wlan0 device to 1486 instead of 1500, the issue does not happen.
>>>>
>>>> The size of frames that I see on Wireshark is exactly 1500 after
>>>> setting it to 1486."
>>>>
>>>> Clearing the HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE avoids the problem and
>>>> the ssh command works successfully after that.
>>>>
>>>> Tested with QCA9377 SDIO with firmware WLAN.TF.1.1.1-00061-QCATFSWPZ-1.
>>>>
>>>> Fixes: 2f918ea98606 ("ath10k: enable alt data of TX path for sdio")
>>>> Signed-off-by: Fabio Estevam <festevam@denx.de>
>>> A gentle ping on this one.
>> Any comments, please? Without this fix, we can not log via ssh to other machine.
> I don't have much time for ath10k nowadays, so expect long delays in
> reviews.
>
> I'm worried that this breaks QCA6174 SDIO support. Wen, what do you
> think of this? Is this because of differences between firmware versions
> or what?

it is added by below commit, if disable it, will significant effect 
performance.

https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git/commit/drivers/net/wireless/ath/ath11k?id=2f918ea98606100f3a6d47db7ff7c200838ec4f3

ath10k: enable alt data of TX path for sdio

The default credit size is 1792 bytes, but the IP mtu is 1500 bytes,
then it has about 290 bytes's waste for each data packet on sdio
transfer path for TX bundle, it will reduce the transmission utilization
ratio for data packet.

This patch enable the small credit size in firmware, firmware will use
the new credit size 1556 bytes, it will increase the transmission
utilization ratio for data packet on TX patch. It results in significant
performance improvement on TX path.

This patch only effect sdio chip, it will not effect PCI, SNOC etc.

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

Signed-off-by: Wen Gong <wgong@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200410061400.14231-3-wgong@codeaurora.org


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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] ath10k: Clean the HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE flag
  2021-11-24  7:55       ` Wen Gong
@ 2021-11-24  8:05         ` Kalle Valo
  2021-11-24 12:50           ` Fabio Estevam
  0 siblings, 1 reply; 7+ messages in thread
From: Kalle Valo @ 2021-11-24  8:05 UTC (permalink / raw)
  To: Wen Gong
  Cc: Fabio Estevam, Fabio Estevam, ath10k, linux-wireless,
	erik.stromdahl, alagusankar

Wen Gong <quic_wgong@quicinc.com> writes:

> On 11/24/2021 3:46 PM, Kalle Valo wrote:
>> Fabio Estevam <festevam@gmail.com> writes:
>>
>>> Hi Kalle,
>>>
>>> On Mon, Nov 15, 2021 at 3:06 PM Fabio Estevam <festevam@gmail.com> wrote:
>>>> Hi Kalle,
>>>>
>>>> On Wed, Sep 15, 2021 at 1:05 PM Fabio Estevam <festevam@denx.de> wrote:
>>>>> On an imx6dl-pico-pi board with a QCA9377 SDIO chip, the following
>>>>> errors are observed when the board works in STA mode:
>>>>>
>>>>> Simply running "ssh user@192.168.0.1" causes:
>>>>>
>>>>> [   55.824159] ath10k_sdio mmc1:0001:1: failed to transmit packet, dropping: -12
>>>>> [   55.832169] ath10k_sdio mmc1:0001:1: failed to submit frame: -12
>>>>> [   55.838529] ath10k_sdio mmc1:0001:1: failed to push frame: -12
>>>>> [   55.905863] ath10k_sdio mmc1:0001:1: failed to transmit packet, dropping: -12
>>>>> [   55.913650] ath10k_sdio mmc1:0001:1: failed to submit frame: -12
>>>>> [   55.919887] ath10k_sdio mmc1:0001:1: failed to push frame: -12
>>>>>
>>>>> and it is not possible to connect via ssh to the other machine.
>>>>>
>>>>> One user inspected the size of frames on Wireshark and reported
>>>>> the followig:
>>>>>
>>>>> "I was able to narrow the issue down to the mtu. If I set the mtu for
>>>>> the wlan0 device to 1486 instead of 1500, the issue does not happen.
>>>>>
>>>>> The size of frames that I see on Wireshark is exactly 1500 after
>>>>> setting it to 1486."
>>>>>
>>>>> Clearing the HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE avoids the problem and
>>>>> the ssh command works successfully after that.
>>>>>
>>>>> Tested with QCA9377 SDIO with firmware WLAN.TF.1.1.1-00061-QCATFSWPZ-1.
>>>>>
>>>>> Fixes: 2f918ea98606 ("ath10k: enable alt data of TX path for sdio")
>>>>> Signed-off-by: Fabio Estevam <festevam@denx.de>
>>>> A gentle ping on this one.
>>> Any comments, please? Without this fix, we can not log via ssh to other machine.
>> I don't have much time for ath10k nowadays, so expect long delays in
>> reviews.
>>
>> I'm worried that this breaks QCA6174 SDIO support. Wen, what do you
>> think of this? Is this because of differences between firmware versions
>> or what?
>
> it is added by below commit, if disable it, will significant effect
> performance.

Thanks, I was worried it's something like this. One way to solve this
would be to add a new field to ath10k_hw_params so that the workaround
is done only on QCA9377 SDIO.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] ath10k: Clean the HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE flag
  2021-11-24  8:05         ` Kalle Valo
@ 2021-11-24 12:50           ` Fabio Estevam
  0 siblings, 0 replies; 7+ messages in thread
From: Fabio Estevam @ 2021-11-24 12:50 UTC (permalink / raw)
  To: Kalle Valo
  Cc: Wen Gong, Fabio Estevam, ath10k, linux-wireless, erik.stromdahl,
	alagusankar, kvalo=codeaurora.org

Hi Kalle and Wen,

On 24/11/2021 05:05, Kalle Valo wrote:

> Thanks, I was worried it's something like this. One way to solve this
> would be to add a new field to ath10k_hw_params so that the workaround
> is done only on QCA9377 SDIO.

Thanks for the feedback, appreciate it.

I have done as suggested in v2.

Thanks a lot,

Fabio Estevam
-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-60 Fax: (+49)-8142-66989-80 Email: 
festevam@denx.de

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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-11-24 12:50 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-15 16:04 [PATCH] ath10k: Clean the HI_ACS_FLAGS_ALT_DATA_CREDIT_SIZE flag Fabio Estevam
2021-11-15 18:06 ` Fabio Estevam
2021-11-24  3:26   ` Fabio Estevam
2021-11-24  7:46     ` Kalle Valo
2021-11-24  7:55       ` Wen Gong
2021-11-24  8:05         ` Kalle Valo
2021-11-24 12:50           ` Fabio Estevam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).