Re: [PATCH v3 2/4] dt-bindings: net: nxp,s32-dwmac: Declare per-queue interrupts
From: Jan Petrous <jan.petrous@oss.nxp.com>
Date: 2026-01-27 12:52:04
Also in:
imx, linux-arm-kernel, lkml, netdev
On Mon, Jan 26, 2026 at 08:00:33PM +0000, Conor Dooley wrote:
On Mon, Jan 26, 2026 at 01:46:45PM +0100, Jan Petrous wrote:quoted
On Fri, Jan 23, 2026 at 05:13:03PM +0000, Conor Dooley wrote:quoted
On Fri, Jan 23, 2026 at 11:09:55AM +0100, Jan Petrous via B4 Relay wrote:quoted
From: "Jan Petrous (OSS)" <jan.petrous@oss.nxp.com> The DWMAC IP on NXP S32G/R SoCs has connected queue-based IRQ lines, set them to allow using Multi-IRQ mode when supported.The binding only supports s32{g,r} devices, why is the existing minimum retained? What devices are going to not have all 11 interrupts connected?The original idea was to support backward compatibility, as older DTs didn't contain queue-based interrupt lines described. But now, when you asked, I started to think it is not needed, the requirement for backward compatibility is managed inside the driver and yaml shall describe the hardware not used configuration.Just to be clear, cos the last portion of that "yaml shall..." isn't to me, you mean that the driver will support 1 or 11 interrupts but you will make the binding only allow 11? That would be fine. Just note in the commit message that all of these devices have the 11 interrupts.
Well, all those supported devices have 11 interrupts connected (1x MAC), then 5x RX (queue0..queue4) and 5x TX (queue0..queue4). Until now, the driver was using on MAC IRQ, so the only one shared line. Now, we are enabling support for per-queue interrupts, what means for supported SoCs up to 11 IRQs as the DWMAC IP on S32G/R has 5 queues. The driver can still opearate on this one shared IRQ mode, but if the DT node configuration describes all IRQs, then the driver switch to multi-IRQ mode. What allows better distribution of processor core load. So the 11 IRQs are the maximum value, in the case when all queues are used. But I can imagine some other use-cases, when not all queues are enabled, ie. only queue0 and quque1. In that case, the driver will use some subset of all IRQs. That means that DT can contain only lesser interrupt list then maximum. I feel like having "minItems: 1" shall cover such use-case. BR. /Jan