Implement the offload of the tc mqprio hw queue priority in the stmmac
driver. This feature requires the mqprio to be configured in channel
mode.
Do not overwrite real_num_tx_queues configured by the qdisc in
stmmac_hw_setup().
The misbehaviour has been reported by Shashank and the patch has been
tested on a Qualcomm RB3-Gen2 board.
---
Changes in v5:
- Move max num_tx_queue check from patch 3/3 to patch 2/3
- Check MTL_QUEUE_AVB queues in stmmac_reinit_queues().
- Update commit messages.
- Link to v4: https://lore.kernel.org/r/20261001-stmmac-mqprio-prio-offload-v4-0-a74610d7f1e5@oss.qualcomm.com (local)
Changes in v4:
- Move real_num_tx_queues fix before mqprio offload patch in order to
allow easy backporting.
- Add patch 'net: stmmac: set real_num_tx_queues from max(offset +
count)' to fix the real_num_tx_queues configuration.
- Link to v3: https://lore.kernel.org/r/20260928-stmmac-mqprio-prio-offload-v3-0-abbe181f5024@oss.qualcomm.com (local)
Changes in v3:
- Fix cbs overwriting removing mqprio qdisc configured in dcb mode.
- Return an error in stmmac_reinit_queues() if configured number of tx
queues is lower than xmit_qdisc.num_tx_queues and mqprio offloading is
enabled.
- Link to v2: https://lore.kernel.org/r/20260924-stmmac-mqprio-prio-offload-v2-0-fdd8b69efccf@oss.qualcomm.com (local)
Changes in v2:
- Forbid cbs queue offload if mqprio is already enabled.
- SP requires 1:1 TC to TXQ map.
- Fix the real_num_tx_queue overwrite during device open.
- Require the qdisc to be configured in channel mode to enable hw queue
priority offload in order to not introduce any regression in the
previous driver behaviour.
- Link to v1: https://lore.kernel.org/r/20260918-stmmac-mqprio-prio-offload-v1-1-5328157fcb58@oss.qualcomm.com (local)
---
Lorenzo Bianconi (3):
net: stmmac: set real_num_tx_queues to max(offset + count)
net: stmmac: align real_num_tx_queues to mqprio configuration
net: stmmac: add tc mqprio hw queue priority offload
drivers/net/ethernet/stmicro/stmmac/stmmac.h | 9 ++
drivers/net/ethernet/stmicro/stmmac/stmmac_fpe.c | 2 +-
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 45 +++++--
drivers/net/ethernet/stmicro/stmmac/stmmac_tc.c | 146 ++++++++++++++++++++--
4 files changed, 178 insertions(+), 24 deletions(-)
---
base-commit: 8b4e7209c842d8cb9516f1f5ef0a88aa2d8831a6
change-id: 20260918-stmmac-mqprio-prio-offload-3d82d87f7bc8
Best regards,
--
Lorenzo Bianconi [off-list ref]