[PATCH ath-next] wifi: ath12k: change MAC buffer ring size to 4096

Baochen Qiang baochen.qiang at oss.qualcomm.com
Thu Oct 22 19:13:18 PDT 2026



On 10/22/2026 9:44 PM, Shawn Guo wrote:
> On Thu, Oct 22, 2026 at 05:20:56PM +0800, Shawn Guo wrote:
>> On Thu, Oct 22, 2026 at 10:30:45AM +0800, Baochen Qiang wrote:
>>>
>>>
>>> On 10/20/2026 4:53 PM, Shawn Guo wrote:
>>>> + linux-arm-msm
>>>>
>>>> On Tue, Jun 09, 2026 at 08:13:58PM -0700, Yingying Tang wrote:
>>>>> For WCN7850, MAC buffer ring size is updated to 2048 in
>>>>> 955df16f2a4c3 ("wifi: ath12k: change MAC buffer ring size to 2048")
>>>>> to increase peak throughput.
>>>>>
>>>>> But during the RX process, a phenomenon can still be observed where
>>>>> the throughput drops by about 30% from its peak value and then recovers,
>>>>> and this behavior repeats during RX.
>>>>>
>>>>> After increasing MAC buffer ring size to 4096, the data rate drop has
>>>>> gone.
>>>>>
>>>>> Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3
>>>>>
>>>>> Signed-off-by: Yingying Tang <yingying.tang at oss.qualcomm.com>
>>>>
>>>> FYI, in case someone else runs into this: with this change (merged in
>>>> v7.3), WiFi on my Lenovo Yoga Slim 7x (X1E80100, WCN7850 hw2.0) stopped
>>>> working with the older firmware that Debian trixie still ships
>>>> (firmware-atheros 20250410-2):
>>>>
>>>>   WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
>>>>
>>>> Probe and firmware download succeed, but every WMI command times out
>>>> once the interface is brought up:
>>>>
>>>>   ath12k_wifi7_pci 0004:01:00.0: wmi command 16387 timeout
>>>>   ath12k_wifi7_pci 0004:01:00.0: failed to send WMI_PDEV_SET_PARAM cmd
>>>>   ath12k_wifi7_pci 0004:01:00.0: failed to enable PMF QOS: -11
>>>>   ath12k_wifi7_pci 0004:01:00.0: fail to start mac operations in pdev idx 0 ret -11
>>>>
>>>> Bisecting ath12k between v7.2 and v7.3 lands on this commit, and
>>>> reverting it on v7.3 brings WiFi back with the old firmware.
>>>>
>>>> Unmodified v7.3 works fine after updating to the current linux-firmware
>>>> image:
>>>>
>>>>   WLAN.HMT.1.1.c7-00108-QCAHMTSWPL_V1.0_V2.0_SILICONZ_UPSTREAM-3
>>>>
>>>> On Debian trixie that one is available from trixie-backports
>>>> (firmware-atheros 20260916-1~bpo13+1).
>>>>
>>>> So nothing needs fixing on the driver side. I'm just leaving this here
>>>> so that anyone who sees "wmi command ... timeout" on WCN7850 after a
>>>> kernel upgrade knows to update the firmware first.
>>>
>>> Hi Shawn, thanks for reporting this. I just had a quick test
>>> WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3 with the latest ath tree
>>> (ath-202610191908), everything looks good, simple connection and ping pass, I don't see
>>> any ath12k warning.
>>>
>>> The firmware images I am using comes from the first commit adding WCN7850 firmware:
>>>
>>> 	fb04a7f4b750 ("ath12k: add new driver and firmware for WCN7850")
>>>
>>> and the md5 values are:
>>>
>>> linux-firmware/ath12k/WCN7850/hw2.0$ md5sum ./*
>>> d3750b67b1013fe82358d0538fb131b0  ./amss.bin
>>> c79c410d585360000c0490f16fda43e2  ./board-2.bin
>>> 73056f1d2aff886ce9bff313f455e963  ./m3.bin
>>> d0ee61498bf1a205147cdbcf645391e7  ./Notice.txt
>>>
>>> can you share the md5 values of your images?
>>
>> Hi Baochen,
>>
>> Here are md5 values of the old firmware shipped by trixie firmware-atheros
>> 20250410-2.
>>
>> $ md5sum /lib/firmware/ath12k/WCN7850/hw2.0/*
>> d3750b67b1013fe82358d0538fb131b0  /lib/firmware/ath12k/WCN7850/hw2.0/amss.bin
>> 5dacdfbe6c3c25d9e0605be8a9f1f6e4  /lib/firmware/ath12k/WCN7850/hw2.0/board-2.bin
>> 73056f1d2aff886ce9bff313f455e963  /lib/firmware/ath12k/WCN7850/hw2.0/m3.bin
>>
>>> and have you ever tried the upstream mainline
>>> kernel or the latest ath.git tree?
>>
>> I'm not sure what you mean by upstream mainline kernel, but v7.3 should
>> be the mainline kernel released a few days ago.
>>
>> On the other hand, I just tested ath.git tree at tag ath-202610191908,
>> and it worked with the old firmware. So it seems there are some gaps
>> between v7.3 and ath kernel.
> 
> I bisected drivers/net/wireless/ath/ath12k between v7.3 (broken) and
> the ath tag (working). It lands on:
> 
>   15f7603b69a8 ("wifi: ath12k: Increase RXDMA buffer ring size for default memory profile")
> 
> The previous commit, 643f0bf93617, still has 4096 entries and is broken.
> 15f7603b69a8 changes one line, .rxdma_buf_ring_size from 4096 to 8192,
> and works.

thanks for sharing this. I can repro it using the 481 firmware once get 15f7603b69a8 reverted.

so the rule here seems that rxdma_buf_ring_size must be at least twice as large as
DP_RX_MAC_BUF_RING_SIZE (I also tries four times large, it works). This rule looks
reasonable to me, since WCN7850 get twos HW MACs and its firmware setups rx_mac_buf ring
for each, and each ring fills itself using the buffers all from the single RXDMA buffer ring.

maybe I should submit a patch mandate this rule.

> 
> Shawn




More information about the ath12k mailing list