All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kalle Valo <kvalo@kernel.org>
To: "Mark Pearson" <mpearson-lenovo@squebb.ca>
Cc: "Baochen Qiang" <quic_bqiang@quicinc.com>,
	 ath12k@lists.infradead.org, linux-wireless@vger.kernel.org,
	 kernel@quicinc.com, netdev@vger.kernel.org
Subject: Re: [PATCH] wifi: ath12k: use 128 bytes aligned iova in transmit path for WCN7850
Date: Thu, 01 Aug 2024 18:20:20 +0300	[thread overview]
Message-ID: <875xsk8e2z.fsf@kernel.org> (raw)
In-Reply-To: <2cdac1e1-dff4-451c-a214-510c4736160a@app.fastmail.com> (Mark Pearson's message of "Fri, 19 Jul 2024 09:07:18 -0400")

"Mark Pearson" <mpearson-lenovo@squebb.ca> writes:

> On Sun, Jul 14, 2024, at 10:38 PM, Baochen Qiang wrote:
>
>> In transmit path, it is likely that the iova is not aligned to PCIe TLP
>> max payload size, which is 128 for WCN7850. Normally in such cases hardware
>> is expected to split the packet into several parts in a manner such that
>> they, other than the first one, have aligned iova. However due to hardware
>> limitations, WCN7850 does not behave like that properly with some specific
>> unaligned iova in transmit path. This easily results in target hang in a
>> KPI transmit test: packet send/receive failure, WMI command send timeout
>> etc. Also fatal error seen in PCIe level:
>>
>> 	...
>> 	Capabilities: ...
>> 		...
>> 		DevSta: ... FatalErr+ ...
>> 		...
>> 	...
>>
>> Work around this by manually moving/reallocating payload buffer such that
>> we can map it to a 128 bytes aligned iova. The moving requires sufficient
>> head room or tail room in skb: for the former we can do ourselves a favor
>> by asking some extra bytes when registering with mac80211, while for the
>> latter we can do nothing.
>>
>> Moving/reallocating buffer consumes additional CPU cycles, but the good news
>> is that an aligned iova increases PCIe efficiency. In my tests on some X86
>> platforms the KPI results are almost consistent.
>>
>> Since this is seen only with WCN7850, add a new hardware parameter to
>> differentiate from others.
>>
>> Tested-on: WCN7850 hw2.0 PCI 
>> WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
>>
>> Signed-off-by: Baochen Qiang <quic_bqiang@quicinc.com>
>
> We've tested this in the Lenovo lab using the T14 G5 AMD with a
> 6.10.0-rc7+ kernel from wireless-next and this patch applied.
> Previously we had stability issues under traffic load. With the patch
> applied we can no longer reproduce the issue.
>
> Tested-by: Mark Pearson <mpearson-lenovo@squebb.ca>
>
> Can this be tagged for stable backporting? It's an important fix.

I added cc stable to the commit message. I forgot to do it before I
pushed my changes out, but it's in my local branch.

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

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


  reply	other threads:[~2024-08-01 15:20 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-15  2:38 [PATCH] wifi: ath12k: use 128 bytes aligned iova in transmit path for WCN7850 Baochen Qiang
2024-07-19 13:07 ` Mark Pearson
2024-08-01 15:20   ` Kalle Valo [this message]
2024-07-19 14:10 ` Jeff Johnson
2024-07-22  6:54   ` Baochen Qiang
2024-07-22  7:02     ` Baochen Qiang
2024-08-01 15:22       ` Kalle Valo
2024-08-01 15:07 ` Kalle Valo
2024-08-01 18:04   ` Jeff Johnson
2024-08-05  9:36     ` Kalle Valo
2024-08-05  3:20   ` Baochen Qiang
2024-08-05  9:28 ` 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=875xsk8e2z.fsf@kernel.org \
    --to=kvalo@kernel.org \
    --cc=ath12k@lists.infradead.org \
    --cc=kernel@quicinc.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=mpearson-lenovo@squebb.ca \
    --cc=netdev@vger.kernel.org \
    --cc=quic_bqiang@quicinc.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.