* [net-next v6 0/4] rework IRQ handling in mtk_eth_soc
@ 2025-06-19 13:21 Frank Wunderlich
2025-06-19 13:21 ` [net-next v6 1/4] net: ethernet: mtk_eth_soc: support named IRQs Frank Wunderlich
` (4 more replies)
0 siblings, 5 replies; 8+ messages in thread
From: Frank Wunderlich @ 2025-06-19 13:21 UTC (permalink / raw)
To: Felix Fietkau, Sean Wang, Lorenzo Bianconi, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Matthias Brugger, AngeloGioacchino Del Regno
Cc: Frank Wunderlich, netdev, linux-kernel, linux-arm-kernel,
linux-mediatek, Simon Horman, Daniel Golle, arinc.unal
From: Frank Wunderlich <frank-w@public-files.de>
This series introduces named IRQs while keeping the index based way
for older dts.
Further it makes some cleanup like adding consts for index access and
avoids loading first IRQ which was not used on non SHARED_INT SoCs.
changes:
v6:
- change irq names from tx/rx to fe1/fe2 because reserved irqs
are usable and not bound to specific function
- dropped Simons RB because of this
- updated description of patch "skip first IRQ if not used" and
use MTK_FE_IRQ_SHARED instead of 0 in condition too
- add "only use legacy mode on missing IRQ name" patch
v5:
- fixed typo in patch 1
- moved comments from previous patch #3 to patch #1 with changes suggested by simon
- rename consts to be compatible with upcoming RSS/LRO changes
MTK_ETH_IRQ_SHARED => MTK_FE_IRQ_SHARED
MTK_ETH_IRQ_TX => MTK_FE_IRQ_TX
MTK_ETH_IRQ_RX => MTK_FE_IRQ_RX
MTK_ETH_IRQ_MAX => MTK_FE_IRQ_NUM
- change commit title and description in patch 3
v4:
- calculate max from last (rx) irq index and use it for array size too
- drop >2 condition as max is already 2 and drop the else continue
- update comment to explain which IRQs are taken in legacy way
v3:
added patches
- #2 (add constants for irq index)
- #3 (skip first IRQ on ! MTK_SHARED_INT)
to the v2 non-series patch
https://patchwork.kernel.org/project/netdevbpf/patch/20250615084521.32329-1-linux@fw-web.de/
Tested on BPI-R4/mt7988 with IRQ names and BPI-R2/mt7623 and BPI-R3/mt7986 with upstreamed
dts via index-mode.
I do not have any MTK_SHARED_INT (mt7621/mt7628) boards to testing.
Frank Wunderlich (4):
net: ethernet: mtk_eth_soc: support named IRQs
net: ethernet: mtk_eth_soc: add consts for irq index
net: ethernet: mtk_eth_soc: skip first IRQ if not used
net: ethernet: mtk_eth_soc: only use legacy mode on missing IRQ name
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 69 ++++++++++++++++-----
drivers/net/ethernet/mediatek/mtk_eth_soc.h | 7 ++-
2 files changed, 58 insertions(+), 18 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [net-next v6 1/4] net: ethernet: mtk_eth_soc: support named IRQs
2025-06-19 13:21 [net-next v6 0/4] rework IRQ handling in mtk_eth_soc Frank Wunderlich
@ 2025-06-19 13:21 ` Frank Wunderlich
2025-06-20 20:12 ` Simon Horman
2025-06-19 13:21 ` [net-next v6 2/4] net: ethernet: mtk_eth_soc: add consts for irq index Frank Wunderlich
` (3 subsequent siblings)
4 siblings, 1 reply; 8+ messages in thread
From: Frank Wunderlich @ 2025-06-19 13:21 UTC (permalink / raw)
To: Felix Fietkau, Sean Wang, Lorenzo Bianconi, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Matthias Brugger, AngeloGioacchino Del Regno
Cc: Frank Wunderlich, netdev, linux-kernel, linux-arm-kernel,
linux-mediatek, Simon Horman, Daniel Golle, arinc.unal
From: Frank Wunderlich <frank-w@public-files.de>
Add named interrupts and keep index based fallback for existing
devicetrees.
Currently only rx and tx IRQs are defined to be used with mt7988, but
later extended with RSS/LRO support.
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
v6:
- change irq names from tx/rx to fe1/fe2 because reserved irqs
are usable and not bound to specific function
- dropped Simons RB because of this
v5:
- fix typo in description
- add comments from previous patch #3 with changes suggested by simon
v2:
- move irqs loading part into own helper function
- reduce indentation
- place mtk_get_irqs helper before the irq_handler (note for simon)
net: mtk_eth_soc: change irq name back to fe1 + fe2
---
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 46 ++++++++++++++++-----
1 file changed, 35 insertions(+), 11 deletions(-)
diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
index b38e4f2de674..c5deb8183afe 100644
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -3336,6 +3336,37 @@ static void mtk_tx_timeout(struct net_device *dev, unsigned int txqueue)
schedule_work(ð->pending_work);
}
+static int mtk_get_irqs(struct platform_device *pdev, struct mtk_eth *eth)
+{
+ int i;
+
+ /* future SoCs beginning with MT7988 should use named IRQs in dts */
+ eth->irq[1] = platform_get_irq_byname(pdev, "fe1");
+ eth->irq[2] = platform_get_irq_byname(pdev, "fe2");
+ if (eth->irq[1] >= 0 && eth->irq[2] >= 0)
+ return 0;
+
+ /* legacy way:
+ * On MTK_SHARED_INT SoCs (MT7621 + MT7628) the first IRQ is taken
+ * from devicetree and used for both RX and TX - it is shared.
+ * On SoCs with non-shared IRQs the first entry is not used,
+ * the second is for TX, and the third is for RX.
+ */
+ for (i = 0; i < 3; i++) {
+ if (MTK_HAS_CAPS(eth->soc->caps, MTK_SHARED_INT) && i > 0)
+ eth->irq[i] = eth->irq[0];
+ else
+ eth->irq[i] = platform_get_irq(pdev, i);
+
+ if (eth->irq[i] < 0) {
+ dev_err(&pdev->dev, "no IRQ%d resource found\n", i);
+ return -ENXIO;
+ }
+ }
+
+ return 0;
+}
+
static irqreturn_t mtk_handle_irq_rx(int irq, void *_eth)
{
struct mtk_eth *eth = _eth;
@@ -5105,17 +5136,10 @@ static int mtk_probe(struct platform_device *pdev)
}
}
- for (i = 0; i < 3; i++) {
- if (MTK_HAS_CAPS(eth->soc->caps, MTK_SHARED_INT) && i > 0)
- eth->irq[i] = eth->irq[0];
- else
- eth->irq[i] = platform_get_irq(pdev, i);
- if (eth->irq[i] < 0) {
- dev_err(&pdev->dev, "no IRQ%d resource found\n", i);
- err = -ENXIO;
- goto err_wed_exit;
- }
- }
+ err = mtk_get_irqs(pdev, eth);
+ if (err)
+ goto err_wed_exit;
+
for (i = 0; i < ARRAY_SIZE(eth->clks); i++) {
eth->clks[i] = devm_clk_get(eth->dev,
mtk_clks_source_name[i]);
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [net-next v6 2/4] net: ethernet: mtk_eth_soc: add consts for irq index
2025-06-19 13:21 [net-next v6 0/4] rework IRQ handling in mtk_eth_soc Frank Wunderlich
2025-06-19 13:21 ` [net-next v6 1/4] net: ethernet: mtk_eth_soc: support named IRQs Frank Wunderlich
@ 2025-06-19 13:21 ` Frank Wunderlich
2025-06-19 13:21 ` [net-next v6 3/4] net: ethernet: mtk_eth_soc: skip first IRQ if not used Frank Wunderlich
` (2 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Frank Wunderlich @ 2025-06-19 13:21 UTC (permalink / raw)
To: Felix Fietkau, Sean Wang, Lorenzo Bianconi, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Matthias Brugger, AngeloGioacchino Del Regno
Cc: Frank Wunderlich, netdev, linux-kernel, linux-arm-kernel,
linux-mediatek, Simon Horman, Daniel Golle, arinc.unal
From: Frank Wunderlich <frank-w@public-files.de>
Use consts instead of fixed integers for accessing IRQ array.
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
Reviewed-by: Simon Horman <horms@kernel.org>
Reviewed-by: Daniel Golle <daniel@makrotopia.org>
---
v5:
- rename consts to be compatible with upcoming RSS/LRO changes
MTK_ETH_IRQ_SHARED => MTK_FE_IRQ_SHARED
MTK_ETH_IRQ_TX => MTK_FE_IRQ_TX
MTK_ETH_IRQ_RX => MTK_FE_IRQ_RX
MTK_ETH_IRQ_MAX => MTK_FE_IRQ_NUM
v4:
- calculate max from last (rx) irq index and use it for array size too
---
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 22 ++++++++++-----------
drivers/net/ethernet/mediatek/mtk_eth_soc.h | 7 ++++++-
2 files changed, 17 insertions(+), 12 deletions(-)
diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
index c5deb8183afe..efffdd7e131e 100644
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -3341,9 +3341,9 @@ static int mtk_get_irqs(struct platform_device *pdev, struct mtk_eth *eth)
int i;
/* future SoCs beginning with MT7988 should use named IRQs in dts */
- eth->irq[1] = platform_get_irq_byname(pdev, "fe1");
- eth->irq[2] = platform_get_irq_byname(pdev, "fe2");
- if (eth->irq[1] >= 0 && eth->irq[2] >= 0)
+ eth->irq[MTK_FE_IRQ_TX] = platform_get_irq_byname(pdev, "fe1");
+ eth->irq[MTK_FE_IRQ_RX] = platform_get_irq_byname(pdev, "fe2");
+ if (eth->irq[MTK_FE_IRQ_TX] >= 0 && eth->irq[MTK_FE_IRQ_RX] >= 0)
return 0;
/* legacy way:
@@ -3352,9 +3352,9 @@ static int mtk_get_irqs(struct platform_device *pdev, struct mtk_eth *eth)
* On SoCs with non-shared IRQs the first entry is not used,
* the second is for TX, and the third is for RX.
*/
- for (i = 0; i < 3; i++) {
+ for (i = 0; i < MTK_FE_IRQ_NUM; i++) {
if (MTK_HAS_CAPS(eth->soc->caps, MTK_SHARED_INT) && i > 0)
- eth->irq[i] = eth->irq[0];
+ eth->irq[i] = eth->irq[MTK_FE_IRQ_SHARED];
else
eth->irq[i] = platform_get_irq(pdev, i);
@@ -3420,7 +3420,7 @@ static void mtk_poll_controller(struct net_device *dev)
mtk_tx_irq_disable(eth, MTK_TX_DONE_INT);
mtk_rx_irq_disable(eth, eth->soc->rx.irq_done_mask);
- mtk_handle_irq_rx(eth->irq[2], dev);
+ mtk_handle_irq_rx(eth->irq[MTK_FE_IRQ_RX], dev);
mtk_tx_irq_enable(eth, MTK_TX_DONE_INT);
mtk_rx_irq_enable(eth, eth->soc->rx.irq_done_mask);
}
@@ -4906,7 +4906,7 @@ static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np)
eth->netdev[id]->features |= eth->soc->hw_features;
eth->netdev[id]->ethtool_ops = &mtk_ethtool_ops;
- eth->netdev[id]->irq = eth->irq[0];
+ eth->netdev[id]->irq = eth->irq[MTK_FE_IRQ_SHARED];
eth->netdev[id]->dev.of_node = np;
if (MTK_HAS_CAPS(eth->soc->caps, MTK_SOC_MT7628))
@@ -5183,17 +5183,17 @@ static int mtk_probe(struct platform_device *pdev)
}
if (MTK_HAS_CAPS(eth->soc->caps, MTK_SHARED_INT)) {
- err = devm_request_irq(eth->dev, eth->irq[0],
+ err = devm_request_irq(eth->dev, eth->irq[MTK_FE_IRQ_SHARED],
mtk_handle_irq, 0,
dev_name(eth->dev), eth);
} else {
- err = devm_request_irq(eth->dev, eth->irq[1],
+ err = devm_request_irq(eth->dev, eth->irq[MTK_FE_IRQ_TX],
mtk_handle_irq_tx, 0,
dev_name(eth->dev), eth);
if (err)
goto err_free_dev;
- err = devm_request_irq(eth->dev, eth->irq[2],
+ err = devm_request_irq(eth->dev, eth->irq[MTK_FE_IRQ_RX],
mtk_handle_irq_rx, 0,
dev_name(eth->dev), eth);
}
@@ -5239,7 +5239,7 @@ static int mtk_probe(struct platform_device *pdev)
} else
netif_info(eth, probe, eth->netdev[i],
"mediatek frame engine at 0x%08lx, irq %d\n",
- eth->netdev[i]->base_addr, eth->irq[0]);
+ eth->netdev[i]->base_addr, eth->irq[MTK_FE_IRQ_SHARED]);
}
/* we run 2 devices on the same DMA ring so we need a dummy device
diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.h b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
index 6f72a8c8ae1e..8cdf1317dff5 100644
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
@@ -642,6 +642,11 @@
#define MTK_MAC_FSM(x) (0x1010C + ((x) * 0x100))
+#define MTK_FE_IRQ_SHARED 0
+#define MTK_FE_IRQ_TX 1
+#define MTK_FE_IRQ_RX 2
+#define MTK_FE_IRQ_NUM (MTK_FE_IRQ_RX + 1)
+
struct mtk_rx_dma {
unsigned int rxd1;
unsigned int rxd2;
@@ -1292,7 +1297,7 @@ struct mtk_eth {
struct net_device *dummy_dev;
struct net_device *netdev[MTK_MAX_DEVS];
struct mtk_mac *mac[MTK_MAX_DEVS];
- int irq[3];
+ int irq[MTK_FE_IRQ_NUM];
u32 msg_enable;
unsigned long sysclk;
struct regmap *ethsys;
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [net-next v6 3/4] net: ethernet: mtk_eth_soc: skip first IRQ if not used
2025-06-19 13:21 [net-next v6 0/4] rework IRQ handling in mtk_eth_soc Frank Wunderlich
2025-06-19 13:21 ` [net-next v6 1/4] net: ethernet: mtk_eth_soc: support named IRQs Frank Wunderlich
2025-06-19 13:21 ` [net-next v6 2/4] net: ethernet: mtk_eth_soc: add consts for irq index Frank Wunderlich
@ 2025-06-19 13:21 ` Frank Wunderlich
2025-06-19 13:21 ` [net-next v6 4/4] net: ethernet: mtk_eth_soc: only use legacy mode on missing IRQ name Frank Wunderlich
2025-06-24 1:20 ` [net-next v6 0/4] rework IRQ handling in mtk_eth_soc patchwork-bot+netdevbpf
4 siblings, 0 replies; 8+ messages in thread
From: Frank Wunderlich @ 2025-06-19 13:21 UTC (permalink / raw)
To: Felix Fietkau, Sean Wang, Lorenzo Bianconi, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Matthias Brugger, AngeloGioacchino Del Regno
Cc: Frank Wunderlich, netdev, linux-kernel, linux-arm-kernel,
linux-mediatek, Simon Horman, Daniel Golle, arinc.unal
From: Frank Wunderlich <frank-w@public-files.de>
On SoCs with dedicated RX and TX interrupts (all except MT7621 and
MT7628) platform_get_irq() is called for the first IRQ (eth->irq[0])
but it is never used.
Skip the first IRQ and reduce the IRQ-count to 2.
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
Reviewed-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: Simon Horman <horms@kernel.org>
---
v6:
- changed commit description a bit
- use MTK_FE_IRQ_SHARED instead of 0
v5:
- change commit title and description
v4:
- drop >2 condition as max is already 2 and drop the else continue
- update comment to explain which IRQs are taken in legacy way
---
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 12 ++++++++----
drivers/net/ethernet/mediatek/mtk_eth_soc.h | 4 ++--
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
index efffdd7e131e..67ba8927be46 100644
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -3353,10 +3353,14 @@ static int mtk_get_irqs(struct platform_device *pdev, struct mtk_eth *eth)
* the second is for TX, and the third is for RX.
*/
for (i = 0; i < MTK_FE_IRQ_NUM; i++) {
- if (MTK_HAS_CAPS(eth->soc->caps, MTK_SHARED_INT) && i > 0)
- eth->irq[i] = eth->irq[MTK_FE_IRQ_SHARED];
- else
- eth->irq[i] = platform_get_irq(pdev, i);
+ if (MTK_HAS_CAPS(eth->soc->caps, MTK_SHARED_INT)) {
+ if (i == MTK_FE_IRQ_SHARED)
+ eth->irq[MTK_FE_IRQ_SHARED] = platform_get_irq(pdev, i);
+ else
+ eth->irq[i] = eth->irq[MTK_FE_IRQ_SHARED];
+ } else {
+ eth->irq[i] = platform_get_irq(pdev, i + 1);
+ }
if (eth->irq[i] < 0) {
dev_err(&pdev->dev, "no IRQ%d resource found\n", i);
diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.h b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
index 8cdf1317dff5..9261c0e13b59 100644
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
@@ -643,8 +643,8 @@
#define MTK_MAC_FSM(x) (0x1010C + ((x) * 0x100))
#define MTK_FE_IRQ_SHARED 0
-#define MTK_FE_IRQ_TX 1
-#define MTK_FE_IRQ_RX 2
+#define MTK_FE_IRQ_TX 0
+#define MTK_FE_IRQ_RX 1
#define MTK_FE_IRQ_NUM (MTK_FE_IRQ_RX + 1)
struct mtk_rx_dma {
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [net-next v6 4/4] net: ethernet: mtk_eth_soc: only use legacy mode on missing IRQ name
2025-06-19 13:21 [net-next v6 0/4] rework IRQ handling in mtk_eth_soc Frank Wunderlich
` (2 preceding siblings ...)
2025-06-19 13:21 ` [net-next v6 3/4] net: ethernet: mtk_eth_soc: skip first IRQ if not used Frank Wunderlich
@ 2025-06-19 13:21 ` Frank Wunderlich
2025-06-20 20:05 ` Simon Horman
2025-06-24 1:20 ` [net-next v6 0/4] rework IRQ handling in mtk_eth_soc patchwork-bot+netdevbpf
4 siblings, 1 reply; 8+ messages in thread
From: Frank Wunderlich @ 2025-06-19 13:21 UTC (permalink / raw)
To: Felix Fietkau, Sean Wang, Lorenzo Bianconi, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Matthias Brugger, AngeloGioacchino Del Regno
Cc: Frank Wunderlich, netdev, linux-kernel, linux-arm-kernel,
linux-mediatek, Simon Horman, Daniel Golle, arinc.unal
From: Frank Wunderlich <frank-w@public-files.de>
If platform_get_irq_byname returns -ENXIO fall back to legacy (index
based) mode, but on other errors function should return this error.
Suggested-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
---
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
index 67ba8927be46..f8a907747db4 100644
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -3346,6 +3346,13 @@ static int mtk_get_irqs(struct platform_device *pdev, struct mtk_eth *eth)
if (eth->irq[MTK_FE_IRQ_TX] >= 0 && eth->irq[MTK_FE_IRQ_RX] >= 0)
return 0;
+ /* only use legacy mode if platform_get_irq_byname returned -ENXIO */
+ if (eth->irq[MTK_FE_IRQ_TX] != -ENXIO)
+ return eth->irq[MTK_FE_IRQ_TX];
+
+ if (eth->irq[MTK_FE_IRQ_RX] != -ENXIO)
+ return eth->irq[MTK_FE_IRQ_RX];
+
/* legacy way:
* On MTK_SHARED_INT SoCs (MT7621 + MT7628) the first IRQ is taken
* from devicetree and used for both RX and TX - it is shared.
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [net-next v6 4/4] net: ethernet: mtk_eth_soc: only use legacy mode on missing IRQ name
2025-06-19 13:21 ` [net-next v6 4/4] net: ethernet: mtk_eth_soc: only use legacy mode on missing IRQ name Frank Wunderlich
@ 2025-06-20 20:05 ` Simon Horman
0 siblings, 0 replies; 8+ messages in thread
From: Simon Horman @ 2025-06-20 20:05 UTC (permalink / raw)
To: Frank Wunderlich
Cc: Felix Fietkau, Sean Wang, Lorenzo Bianconi, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Matthias Brugger, AngeloGioacchino Del Regno, Frank Wunderlich,
netdev, linux-kernel, linux-arm-kernel, linux-mediatek,
Daniel Golle, arinc.unal
On Thu, Jun 19, 2025 at 03:21:24PM +0200, Frank Wunderlich wrote:
> From: Frank Wunderlich <frank-w@public-files.de>
>
> If platform_get_irq_byname returns -ENXIO fall back to legacy (index
> based) mode, but on other errors function should return this error.
>
> Suggested-by: Daniel Golle <daniel@makrotopia.org>
> Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
Reviewed-by: Simon Horman <horms@kernel.org>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [net-next v6 1/4] net: ethernet: mtk_eth_soc: support named IRQs
2025-06-19 13:21 ` [net-next v6 1/4] net: ethernet: mtk_eth_soc: support named IRQs Frank Wunderlich
@ 2025-06-20 20:12 ` Simon Horman
0 siblings, 0 replies; 8+ messages in thread
From: Simon Horman @ 2025-06-20 20:12 UTC (permalink / raw)
To: Frank Wunderlich
Cc: Felix Fietkau, Sean Wang, Lorenzo Bianconi, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Matthias Brugger, AngeloGioacchino Del Regno, Frank Wunderlich,
netdev, linux-kernel, linux-arm-kernel, linux-mediatek,
Daniel Golle, arinc.unal
On Thu, Jun 19, 2025 at 03:21:21PM +0200, Frank Wunderlich wrote:
> From: Frank Wunderlich <frank-w@public-files.de>
>
> Add named interrupts and keep index based fallback for existing
> devicetrees.
>
> Currently only rx and tx IRQs are defined to be used with mt7988, but
> later extended with RSS/LRO support.
>
> Signed-off-by: Frank Wunderlich <frank-w@public-files.de>
Reviewed-by: Simon Horman <horms@kernel.org>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [net-next v6 0/4] rework IRQ handling in mtk_eth_soc
2025-06-19 13:21 [net-next v6 0/4] rework IRQ handling in mtk_eth_soc Frank Wunderlich
` (3 preceding siblings ...)
2025-06-19 13:21 ` [net-next v6 4/4] net: ethernet: mtk_eth_soc: only use legacy mode on missing IRQ name Frank Wunderlich
@ 2025-06-24 1:20 ` patchwork-bot+netdevbpf
4 siblings, 0 replies; 8+ messages in thread
From: patchwork-bot+netdevbpf @ 2025-06-24 1:20 UTC (permalink / raw)
To: Frank Wunderlich
Cc: nbd, sean.wang, lorenzo, andrew+netdev, davem, edumazet, kuba,
pabeni, matthias.bgg, angelogioacchino.delregno, frank-w, netdev,
linux-kernel, linux-arm-kernel, linux-mediatek, horms, daniel,
arinc.unal
Hello:
This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Thu, 19 Jun 2025 15:21:20 +0200 you wrote:
> From: Frank Wunderlich <frank-w@public-files.de>
>
> This series introduces named IRQs while keeping the index based way
> for older dts.
> Further it makes some cleanup like adding consts for index access and
> avoids loading first IRQ which was not used on non SHARED_INT SoCs.
>
> [...]
Here is the summary with links:
- [net-next,v6,1/4] net: ethernet: mtk_eth_soc: support named IRQs
https://git.kernel.org/netdev/net-next/c/ee85b483fefb
- [net-next,v6,2/4] net: ethernet: mtk_eth_soc: add consts for irq index
https://git.kernel.org/netdev/net-next/c/498190100992
- [net-next,v6,3/4] net: ethernet: mtk_eth_soc: skip first IRQ if not used
https://git.kernel.org/netdev/net-next/c/9c0feca0a68b
- [net-next,v6,4/4] net: ethernet: mtk_eth_soc: only use legacy mode on missing IRQ name
https://git.kernel.org/netdev/net-next/c/070e98dd4e26
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-06-24 1:22 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-19 13:21 [net-next v6 0/4] rework IRQ handling in mtk_eth_soc Frank Wunderlich
2025-06-19 13:21 ` [net-next v6 1/4] net: ethernet: mtk_eth_soc: support named IRQs Frank Wunderlich
2025-06-20 20:12 ` Simon Horman
2025-06-19 13:21 ` [net-next v6 2/4] net: ethernet: mtk_eth_soc: add consts for irq index Frank Wunderlich
2025-06-19 13:21 ` [net-next v6 3/4] net: ethernet: mtk_eth_soc: skip first IRQ if not used Frank Wunderlich
2025-06-19 13:21 ` [net-next v6 4/4] net: ethernet: mtk_eth_soc: only use legacy mode on missing IRQ name Frank Wunderlich
2025-06-20 20:05 ` Simon Horman
2025-06-24 1:20 ` [net-next v6 0/4] rework IRQ handling in mtk_eth_soc patchwork-bot+netdevbpf
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).