Re: [PATCH net-next 2/2] net: macb: configure ENST registers for all queues
From: Théo Lebrun <theo.lebrun@bootlin.com>
Date: 2026-07-24 18:06:38
Also in:
lkml
Hello Vineeth, On Fri Jul 24, 2026 at 6:32 AM CEST, Vineeth Karumanchi wrote:
The initial "tc" command was not overwriting the reset value of ENST registers if only a subset of queues were configured, leading to an invalid setup. To fix this, configure all queues unconditionally. Unconfigured queues are zero-initialized via kcalloc(), ensuring a complete and consistent configuration.
But if a subset of queues are configured, the remaining queues don't have their ENST support enabled thanks to ENST_CONTROL and their ENST per-queue register values aren't read? Or HW is broken and reads ENST registers anyway? Or something else I misunderstood? What reset value of ENST regs you observed that caused you trouble? That info could make it into the commit message.
The queue_id field in struct macb_queue_enst_config becomes redundant
once the array is indexed by queue id, so drop it.
Key changes:
- Drop queue_id from struct macb_queue_enst_config
- Allocate enst_queue[] based on bp->num_queues instead of
conf->num_entries
- Index enst_queue[] directly with the queue number
- Program ENST registers for all queues
Fixes: 89934dbf169e ("net: macb: Add TAPRIO traffic scheduling support")
Signed-off-by: Vineeth Karumanchi <redacted>Thanks, -- Théo Lebrun, Bootlin Embedded Linux and Kernel engineering https://bootlin.com