From: Jared Kangas <jkangas@redhat.com>
To: jan.petrous@oss.nxp.com
Cc: Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>,
Chester Lin <chester62515@gmail.com>,
Matthias Brugger <mbrugger@suse.com>,
Ghennadi Procopciuc <ghennadi.procopciuc@oss.nxp.com>,
NXP S32 Linux Team <s32@nxp.com>, Shawn Guo <shawnguo@kernel.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Fabio Estevam <festevam@gmail.com>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>, Frank Li <Frank.Li@nxp.com>,
netdev@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, imx@lists.linux.dev,
devicetree@vger.kernel.org, rmk+kernel@armlinux.org.uk,
vladimir.oltean@nxp.com, boon.khai.ng@altera.com
Subject: Re: [PATCH v11 4/4] stmmac: s32: enable support for Multi-IRQ mode
Date: Tue, 21 Apr 2026 13:02:52 -0700 [thread overview]
Message-ID: <aefX7Ajltzt5EqIR@rh-jkangas-kernel> (raw)
In-Reply-To: <20260312-dwmac_multi_irq-v11-4-09621ccb040b@oss.nxp.com>
Hi Jan,
On Thu, Mar 12, 2026 at 09:55:30AM +0100, Jan Petrous via B4 Relay wrote:
> From: "Jan Petrous (OSS)" <jan.petrous@oss.nxp.com>
>
> Based on previous changes in platform driver, the vendor
> glue driver can enable Multi-IRQ mode, if needed.
>
> [...]
>
> 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
I ran this series' changes on an NXP S32G-VNP-RDB3 (dwmac-s32) and
confirmed multichannel TX by doing a basic iperf3 throughput test:
# dmesg | grep Multi-IRQ
[ 37.463467] s32-dwmac 4033c000.ethernet: Multi-IRQ mode (per queue IRQs) selected
# iperf3 -s
[connection logs snipped]
# grep end0 /proc/interrupts | column -t
29: 0 0 0 0 0 0 0 0 GICv3 89 Level end0:mac
30: 968 0 0 0 0 0 0 0 GICv3 90 Level end0:tx-0
31: 0 3 0 0 0 0 0 0 GICv3 92 Level end0:tx-1
32: 0 0 3 0 0 0 0 0 GICv3 94 Level end0:tx-2
33: 0 0 0 3 0 0 0 0 GICv3 96 Level end0:tx-3
34: 0 0 0 0 3 0 0 0 GICv3 98 Level end0:tx-4
35: 67302 0 0 0 0 0 0 0 GICv3 91 Level end0:rx-0
36: 0 0 0 0 0 0 0 0 GICv3 93 Level end0:rx-1
37: 0 0 0 0 0 0 0 0 GICv3 95 Level end0:rx-2
38: 0 0 0 0 0 0 0 0 GICv3 97 Level end0:rx-3
39: 0 0 0 0 0 0 0 0 GICv3 99 Level end0:rx-4
Also tried out multichannel RX by adding 'snps,route-multi-broad' to
rx-queues-config/queue2 in the devicetree, which showed activity on
the corresponding rx-2 entry:
# grep end0 /proc/interrupts | column -t
29: 0 0 0 0 0 0 0 0 GICv3 89 Level end0:mac
30: 4 0 0 0 0 0 0 0 GICv3 90 Level end0:tx-0
31: 0 1 0 0 0 0 0 0 GICv3 92 Level end0:tx-1
32: 0 0 1 0 0 0 0 0 GICv3 94 Level end0:tx-2
33: 0 0 0 0 0 0 0 0 GICv3 96 Level end0:tx-3
34: 0 0 0 0 1 0 0 0 GICv3 98 Level end0:tx-4
35: 68 0 0 0 0 0 0 0 GICv3 91 Level end0:rx-0
36: 0 0 0 0 0 0 0 0 GICv3 93 Level end0:rx-1
37: 0 0 91 0 0 0 0 0 GICv3 95 Level end0:rx-2
38: 0 0 0 0 0 0 0 0 GICv3 97 Level end0:rx-3
39: 0 0 0 0 0 0 0 0 GICv3 99 Level end0:rx-4
I didn't see any regressions with light network usage, and both TX/RX
appear to function as expected.
Tested-by: Jared Kangas <jkangas@redhat.com>
prev parent reply other threads:[~2026-04-21 20:03 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-12 8:55 [PATCH v11 0/4] Support multi-channel IRQs in stmmac platform drivers Jan Petrous (OSS)
2026-03-12 8:55 ` Jan Petrous via B4 Relay
2026-03-12 8:55 ` [PATCH v11 1/4] net: stmmac: platform: read channels irq Jan Petrous (OSS)
2026-03-12 8:55 ` Jan Petrous via B4 Relay
2026-03-12 8:55 ` [PATCH v11 2/4] arm64: dts: s32: set Ethernet channel irqs Jan Petrous (OSS)
2026-03-12 8:55 ` Jan Petrous via B4 Relay
2026-04-21 20:07 ` Jared Kangas
2026-03-12 8:55 ` [PATCH v11 3/4] dt-bindings: net: nxp,s32-dwmac: Declare per-queue interrupts Jan Petrous (OSS)
2026-03-12 8:55 ` Jan Petrous via B4 Relay
2026-03-12 8:55 ` [PATCH v11 4/4] stmmac: s32: enable support for Multi-IRQ mode Jan Petrous (OSS)
2026-03-12 8:55 ` Jan Petrous via B4 Relay
2026-04-21 20:02 ` Jared Kangas [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aefX7Ajltzt5EqIR@rh-jkangas-kernel \
--to=jkangas@redhat.com \
--cc=Frank.Li@nxp.com \
--cc=alexandre.torgue@foss.st.com \
--cc=andrew+netdev@lunn.ch \
--cc=boon.khai.ng@altera.com \
--cc=chester62515@gmail.com \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=festevam@gmail.com \
--cc=ghennadi.procopciuc@oss.nxp.com \
--cc=imx@lists.linux.dev \
--cc=jan.petrous@oss.nxp.com \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-stm32@st-md-mailman.stormreply.com \
--cc=mbrugger@suse.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=rmk+kernel@armlinux.org.uk \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=s32@nxp.com \
--cc=shawnguo@kernel.org \
--cc=vladimir.oltean@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.