Re: [PATCH net-next] net/stmmac/dwxgmac: Extend MTL/DMA support to 16 queues

From: Jakub Raczynski

Date: Mon Oct 19 2026 - 05:26:30 EST


On Fri, Oct 16, 2026 at 12:38:23PM -0700, Sagar Cheluvegowda wrote:
> From: Jakub Raczynski <j.raczynski@xxxxxxxxxxx>
>
> Patch 2/3 of Jakub's v2 series:
> https://lore.kernel.org/netdev/20260601162537.553512-3-j.raczynski@xxxxxxxxxxx/
>
> Jakub has confirmed he will not be continuing this series, so we are
> posting this patch on its own. We need it for Qualcomm Nord, a
> 25GMAC-based SoC that implements 12 MTL/DMA queues. Jakub's authorship
> and sign-offs are kept.
>
> Changes vs v2 2/3:
> - Replace the netdev_err() + return in the default case with
> WARN_ON() + return, following the review feedback on 1/3 against
> message-only failures in void callbacks.
>
> Tested on Qualcomm Nord with 12 queues: the MAP0..MAP2 registers were
> checked to hold the expected RX queue to DMA channel mapping. The MAP3
> register (queues 12-15) is carried over unchanged from v2 and is not
> exercised on that hardware.
>
> This is needed for XGMAC-based hardware with more than 8 MTL/DMA
> queues (Qualcomm Nord has 12).
>
> .../net/ethernet/stmicro/stmmac/dwxgmac2.h | 2 ++

Thanks for including me as signed-off.

But I am not sure I like this patch being sent on its own. I checked Sashiko
review on patchwork and there are no comments and that is actually (not)
impressive by Sashiko.
Issues I have are:
- Does it work if macro MTL_MAX_{TX/RX}_QUEUES is not increased?
- My patch 1/3 was doing some prep since new XGMAC have unique setup where
number of DMA channels differ from number of TC's.

How does it look like in your hardware? 12 DMA and (8 or 12) TC's?

I agree with comment by Jakub Kicinski on my patchset 1/3 that I should have
implemented it better, but never finally did. Issue is, stmmac driver
assumes number of DMA = TC and uses {tx/rx}_queues_to_use everywhere.
So proper implementation would be spliting DMA count and TC count,
where both can be verified by stmmac_get_hw_features().

Of course, above applies if DMA!=TC in your hardware.

BR
Jakub Raczynski