[PATCH net-next 0/3] xgmac: Support for 16 MTL/DMA queues
From: Jakub Raczynski
Date: Mon May 11 2026 - 13:48:11 EST
New XGMAC datasheets for XGMAC 3.20a and 3.40a list support up to
16 MTL/DMA queues. This patch series does modifications to accommodate for
that, by following:
- Increase MAX value macros (this will increase memory allocation for driver)
- Add missing registers
- Modify/fix some functions to split TC and MTL/DMA
Biggest issue is that new hardware does support only 8 TC (traffic classes),
while supporting more MTL/DMA queues. This is problematic, as current code
does assume that these are equal which is not true anymore. Fix that by
applying better context to functions, using TC count read from HW_FEATURE
register where it applies.
For DMA/MTL queues higher than TC count redirect traffic to TC 0.
This is error in user configuration but quite possible to occur,
if user does 'one DMA/MTL queue per TC'.
This change has been tested on XGMAC based on 3.20a,
checked with 16 and 8 queue setup.
Jakub Raczynski (3):
net/stmmac/dwxgmac: Modify DMA functions for future hardware
net/stmmac/dwxgmac: Extend MTL/DMA support to 16 queues
include/stmmac: Increase max DMA/MTL channel count from 8 to 16
drivers/net/ethernet/stmicro/stmmac/common.h | 1 +
.../net/ethernet/stmicro/stmmac/dwxgmac2.h | 2 +
.../ethernet/stmicro/stmmac/dwxgmac2_core.c | 58 ++++++++++++++++++-
.../ethernet/stmicro/stmmac/dwxgmac2_dma.c | 17 +++++-
.../net/ethernet/stmicro/stmmac/stmmac_main.c | 5 +-
include/linux/stmmac.h | 6 +-
6 files changed, 80 insertions(+), 9 deletions(-)
--
2.34.1