Re: [PATCH net-next v12 4/4] stmmac: s32: enable support for Multi-IRQ mode
From: Russell King (Oracle)
Date: Fri Mar 13 2026 - 05:33:04 EST
On Fri, Mar 13, 2026 at 08:13:35AM +0100, Jan Petrous via B4 Relay wrote:
> From: "Jan Petrous (OSS)" <jan.petrous@xxxxxxxxxxx>
>
> Based on previous changes in platform driver, the vendor
> glue driver can enable Multi-IRQ mode, if needed.
>
> To get enabled Multi-IRQ mode for dwmac-s32, the driver checks:
>
> 1) property of 'snps,mtl-xx-config' subnode
> defines 'snps,xx-queues-to-use' bigger then one, ie:
>
> ethernet@4033c000 {
> compatible = "nxp,s32g2-dwmac";
> ...
> snps,mtl-rx-config = <&mtl_rx_setup>;
> ...
>
> mtl_rx_setup: rx-queues-config {
> snps,rx-queues-to-use = <2>;
> };
>
> 2) queue based IRQs are set, ie:
>
> ethernet@4033c000 {
> compatible = "nxp,s32g2-dwmac";
> ...
> interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
> /* CHN 0: tx, rx */
> <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>,
> <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>,
> /* CHN 1: tx, rx */
> <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>,
> <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
> interrupt-names = "macirq",
> "tx-queue-0", "rx-queue-0",
> "tx-queue-1", "rx-queue-1";
>
> If those prerequisites are met, the driver switches to Multi-IRQ mode,
> using per-queue IRQs for rx/tx data pathr:
>
> [ 1.387045] s32-dwmac 4033c000.ethernet: Multi-IRQ mode (per queue IRQs) selected
>
> Now the driver owns all queues IRQs:
>
> root@s32g399aevb3:~# grep eth /proc/interrupts
> 29: 0 0 0 0 0 0 0 0 GICv3 89 Level eth0:mac
> 30: 0 0 0 0 0 0 0 0 GICv3 91 Level eth0:rx-0
> 31: 0 0 0 0 0 0 0 0 GICv3 93 Level eth0:rx-1
> 32: 0 0 0 0 0 0 0 0 GICv3 95 Level eth0:rx-2
> 33: 0 0 0 0 0 0 0 0 GICv3 97 Level eth0:rx-3
> 34: 0 0 0 0 0 0 0 0 GICv3 99 Level eth0:rx-4
> 35: 0 0 0 0 0 0 0 0 GICv3 90 Level eth0:tx-0
> 36: 0 0 0 0 0 0 0 0 GICv3 92 Level eth0:tx-1
> 37: 0 0 0 0 0 0 0 0 GICv3 94 Level eth0:tx-2
> 38: 0 0 0 0 0 0 0 0 GICv3 96 Level eth0:tx-3
> 39: 0 0 0 0 0 0 0 0 GICv3 98 Level eth0:tx-4
>
> Otherwise, if one of the prerequisite don't met, the driver
> continue with MAC IRQ mode:
>
> [ 1.387045] s32-dwmac 4033c000.ethernet: MAC IRQ mode selected
>
> And only MAC IRQ will be attached:
>
> root@s32g399aevb3:~# grep eth /proc/interrupts
> 29: 0 0 0 0 0 0 0 0 GICv3 89 Level eth0:mac
>
> What represents the original MAC IRQ mode and is fully backward
> compatible.
>
> Reviewed-by: Matthias Brugger <mbrugger@xxxxxxxx>
Reviewed-by: Russell King (Oracle) <rmk+kernel@xxxxxxxxxxxxxxx>
Thanks!
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!