From nobody Fri Oct 10 04:03:51 2025 Received: from mxout3.routing.net (mxout3.routing.net [134.0.28.8]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 27BEB1DFCE; Sun, 15 Jun 2025 15:03:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=134.0.28.8 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749999833; cv=none; b=Xv20A1blMxQnulGIMefVXVDHiTRJkCM2sFgloRpJVtjAUY54sPSQq0IuuzKTMzmkBneCtIpZMRck/xF3gM7fJwqfRFfyoypiIJ6lZ7rk6kcxmZUNaUAHcaxwg2dyOTh+dCM/wX2RtUHae59Bl1rrg/HciBHxgCX72+U7R9fHKy0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749999833; c=relaxed/simple; bh=ZFr4QXz7uBQKE0XCTjQ03VCU73ORvAP4grrovwS4gDE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FZGHJXL2jJFXcC23/IO3ZeKuID2PazyxplJ4BKdoNXFWNjYIKsa5qWJ2kPaeStrn+q6fIDL0sHgKYRD8Z07W2W4HRQk9qDfFBKSxvaera4oJqdRiywVIuFbHsqsrEdKE6QrxV3EbCc0NLWgWgRlC1lS6Os6hWdte6h3nNJAXzzY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=fw-web.de; spf=pass smtp.mailfrom=fw-web.de; dkim=pass (1024-bit key) header.d=mailerdienst.de header.i=@mailerdienst.de header.b=J8Yqe5gw; arc=none smtp.client-ip=134.0.28.8 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=fw-web.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fw-web.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=mailerdienst.de header.i=@mailerdienst.de header.b="J8Yqe5gw" Received: from mxbulk.masterlogin.de (unknown [192.168.10.85]) by mxout3.routing.net (Postfix) with ESMTP id D94FD601A6; Sun, 15 Jun 2025 15:03:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailerdienst.de; s=20200217; t=1749999829; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=aixnyQqpwBBGhHOV75XTz3/geaACNpR9Nv0eB+S8FK0=; b=J8Yqe5gwIPPcjzAuk6Glt67DYlSm3Akx7NALxfTtUJ3av+yOpI8e9+oiW+8cUnhmb2Wm8A RYEy2ZBEupAiQVhN+P/TA5F/5S9xF67C+Mk1cKeIYc3a/w1qEjYUW+q1VsQk1TiEUGimU0 0FbU8dlJ9qnkYHRXCmWhcVb4Drg8trc= Received: from frank-u24.. (fttx-pool-217.61.157.124.bambit.de [217.61.157.124]) by mxbulk.masterlogin.de (Postfix) with ESMTPSA id A0566122704; Sun, 15 Jun 2025 15:03:48 +0000 (UTC) From: Frank Wunderlich 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@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Simon Horman , Daniel Golle Subject: [net-next v3 1/3] net: ethernet: mtk_eth_soc: support named IRQs Date: Sun, 15 Jun 2025 17:03:16 +0200 Message-ID: <20250615150333.166202-2-linux@fw-web.de> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250615150333.166202-1-linux@fw-web.de> References: <20250615150333.166202-1-linux@fw-web.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Frank Wunderlich Add named interrupts and keep index based fallback for exiting 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 Reviewed-by: Simon Horman --- v2: - move irqs loading part into own helper function - reduce indentation - place mtk_get_irqs helper before the irq_handler (note for simon) --- drivers/net/ethernet/mediatek/mtk_eth_soc.c | 39 +++++++++++++++------ 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethe= rnet/mediatek/mtk_eth_soc.c index b38e4f2de674..f91ea87d2f72 100644 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c @@ -3336,6 +3336,30 @@ static void mtk_tx_timeout(struct net_device *dev, u= nsigned int txqueue) schedule_work(ð->pending_work); } =20 +static int mtk_get_irqs(struct platform_device *pdev, struct mtk_eth *eth) +{ + int i; + + eth->irq[1] =3D platform_get_irq_byname(pdev, "tx"); + eth->irq[2] =3D platform_get_irq_byname(pdev, "rx"); + if (eth->irq[1] >=3D 0 && eth->irq[2] >=3D 0) + return 0; + + for (i =3D 0; i < 3; i++) { + if (MTK_HAS_CAPS(eth->soc->caps, MTK_SHARED_INT) && i > 0) + eth->irq[i] =3D eth->irq[0]; + else + eth->irq[i] =3D 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 =3D _eth; @@ -5105,17 +5129,10 @@ static int mtk_probe(struct platform_device *pdev) } } =20 - for (i =3D 0; i < 3; i++) { - if (MTK_HAS_CAPS(eth->soc->caps, MTK_SHARED_INT) && i > 0) - eth->irq[i] =3D eth->irq[0]; - else - eth->irq[i] =3D platform_get_irq(pdev, i); - if (eth->irq[i] < 0) { - dev_err(&pdev->dev, "no IRQ%d resource found\n", i); - err =3D -ENXIO; - goto err_wed_exit; - } - } + err =3D mtk_get_irqs(pdev, eth); + if (err) + goto err_wed_exit; + for (i =3D 0; i < ARRAY_SIZE(eth->clks); i++) { eth->clks[i] =3D devm_clk_get(eth->dev, mtk_clks_source_name[i]); --=20 2.43.0 From nobody Fri Oct 10 04:03:51 2025 Received: from mxout2.routing.net (mxout2.routing.net [134.0.28.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 40F167FBA2; Sun, 15 Jun 2025 15:03:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=134.0.28.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749999839; cv=none; b=AxRyMLUdols8Rsg3jG1YoE9jgDWNPfiVkIIoFoYfnPqtMKXX5vZ+iRnE+AgMCQ7zfR2JcGmpG45WtUEBbEUJn7qkPpkp/nsYHP0i76n+DkEvvdC/vVbdSheIBJQS4kQP+o1Y8hCdI0hK/9Kok0GclWDbcJeRERxVUFQ+yPWJFGg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749999839; c=relaxed/simple; bh=VMTM4/TGstnUHxJMg1MRKr4dOdDAu5tuU3B0/aQiQrk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CbwjhyRexb22t74ORk4ua5xuPQBVCvFQWSGxUCaVNqm71Dg21vmv0Q/Cp5WOCWSv1AUH0wDi5H0Phu7OpWQ95EwYUwdbPoT9PPyObXTq8xC9UIuTDFC4kwiqfSTPI2+takVNhyPboAElKCSl2KlCVSqpnJD1iUG2BR+wH/7CmSc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=fw-web.de; spf=pass smtp.mailfrom=fw-web.de; dkim=pass (1024-bit key) header.d=mailerdienst.de header.i=@mailerdienst.de header.b=PsANyjPF; arc=none smtp.client-ip=134.0.28.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=fw-web.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fw-web.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=mailerdienst.de header.i=@mailerdienst.de header.b="PsANyjPF" Received: from mxbulk.masterlogin.de (unknown [192.168.10.85]) by mxout2.routing.net (Postfix) with ESMTP id 2823B5FBA1; Sun, 15 Jun 2025 15:03:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailerdienst.de; s=20200217; t=1749999829; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=8+4Fhd4ocII9lpkmXR6H0SugqzwdoLPQH4LwtiRqyCc=; b=PsANyjPF0b03jF6W/HJSynxOLkuwREAJS8ozumrnEefluiJCFdhSv+DO19RftOA3dkvbWd L9BaHERIPEj2CI5qs9IdVIbA2IhVsKAf21J5JNEvC0TlW1OJhI9dFvLd/my/54OXy3py0b KeofimBCKKNtw0Wb3VxRsxVKQTQh+hA= Received: from frank-u24.. (fttx-pool-217.61.157.124.bambit.de [217.61.157.124]) by mxbulk.masterlogin.de (Postfix) with ESMTPSA id E0D4F1226A7; Sun, 15 Jun 2025 15:03:48 +0000 (UTC) From: Frank Wunderlich 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@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Simon Horman , Daniel Golle Subject: [net-next v3 2/3] net: ethernet: mtk_eth_soc: add consts for irq index Date: Sun, 15 Jun 2025 17:03:17 +0200 Message-ID: <20250615150333.166202-3-linux@fw-web.de> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250615150333.166202-1-linux@fw-web.de> References: <20250615150333.166202-1-linux@fw-web.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Frank Wunderlich Use consts instead of fixed integers for accessing IRQ array. Signed-off-by: Frank Wunderlich --- drivers/net/ethernet/mediatek/mtk_eth_soc.c | 22 ++++++++++----------- drivers/net/ethernet/mediatek/mtk_eth_soc.h | 5 +++++ 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethe= rnet/mediatek/mtk_eth_soc.c index f91ea87d2f72..9aec67c9c6d7 100644 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c @@ -3340,14 +3340,14 @@ static int mtk_get_irqs(struct platform_device *pde= v, struct mtk_eth *eth) { int i; =20 - eth->irq[1] =3D platform_get_irq_byname(pdev, "tx"); - eth->irq[2] =3D platform_get_irq_byname(pdev, "rx"); - if (eth->irq[1] >=3D 0 && eth->irq[2] >=3D 0) + eth->irq[MTK_ETH_IRQ_TX] =3D platform_get_irq_byname(pdev, "tx"); + eth->irq[MTK_ETH_IRQ_RX] =3D platform_get_irq_byname(pdev, "rx"); + if (eth->irq[MTK_ETH_IRQ_TX] >=3D 0 && eth->irq[MTK_ETH_IRQ_RX] >=3D 0) return 0; =20 - for (i =3D 0; i < 3; i++) { + for (i =3D 0; i < MTK_ETH_IRQ_MAX; i++) { if (MTK_HAS_CAPS(eth->soc->caps, MTK_SHARED_INT) && i > 0) - eth->irq[i] =3D eth->irq[0]; + eth->irq[i] =3D eth->irq[MTK_ETH_IRQ_SHARED]; else eth->irq[i] =3D platform_get_irq(pdev, i); =20 @@ -3413,7 +3413,7 @@ static void mtk_poll_controller(struct net_device *de= v) =20 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_ETH_IRQ_RX], dev); mtk_tx_irq_enable(eth, MTK_TX_DONE_INT); mtk_rx_irq_enable(eth, eth->soc->rx.irq_done_mask); } @@ -4899,7 +4899,7 @@ static int mtk_add_mac(struct mtk_eth *eth, struct de= vice_node *np) eth->netdev[id]->features |=3D eth->soc->hw_features; eth->netdev[id]->ethtool_ops =3D &mtk_ethtool_ops; =20 - eth->netdev[id]->irq =3D eth->irq[0]; + eth->netdev[id]->irq =3D eth->irq[MTK_ETH_IRQ_SHARED]; eth->netdev[id]->dev.of_node =3D np; =20 if (MTK_HAS_CAPS(eth->soc->caps, MTK_SOC_MT7628)) @@ -5176,17 +5176,17 @@ static int mtk_probe(struct platform_device *pdev) } =20 if (MTK_HAS_CAPS(eth->soc->caps, MTK_SHARED_INT)) { - err =3D devm_request_irq(eth->dev, eth->irq[0], + err =3D devm_request_irq(eth->dev, eth->irq[MTK_ETH_IRQ_SHARED], mtk_handle_irq, 0, dev_name(eth->dev), eth); } else { - err =3D devm_request_irq(eth->dev, eth->irq[1], + err =3D devm_request_irq(eth->dev, eth->irq[MTK_ETH_IRQ_TX], mtk_handle_irq_tx, 0, dev_name(eth->dev), eth); if (err) goto err_free_dev; =20 - err =3D devm_request_irq(eth->dev, eth->irq[2], + err =3D devm_request_irq(eth->dev, eth->irq[MTK_ETH_IRQ_RX], mtk_handle_irq_rx, 0, dev_name(eth->dev), eth); } @@ -5232,7 +5232,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_ETH_IRQ_SHARED]); } =20 /* 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/ethe= rnet/mediatek/mtk_eth_soc.h index 6f72a8c8ae1e..6b1208d05f79 100644 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h @@ -642,6 +642,11 @@ =20 #define MTK_MAC_FSM(x) (0x1010C + ((x) * 0x100)) =20 +#define MTK_ETH_IRQ_SHARED 0 +#define MTK_ETH_IRQ_TX 1 +#define MTK_ETH_IRQ_RX 2 +#define MTK_ETH_IRQ_MAX 3 + struct mtk_rx_dma { unsigned int rxd1; unsigned int rxd2; --=20 2.43.0 From nobody Fri Oct 10 04:03:51 2025 Received: from mxout1.routing.net (mxout1.routing.net [134.0.28.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6CE431B423C; Sun, 15 Jun 2025 15:03:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=134.0.28.11 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749999839; cv=none; b=Cm3RC8TPTWU4c06lOACxk8EUUwZbNdYJzlavJuAkkVPxLkZV8q6Z2lC0ha4VvYXWYroPyX9+/QPdGq1OXpU8pUcc2qdaqVuJ+O6u5g4MJU8B4FeTbrsG5YJiWC4mqzbORUH9DZvGMMyDvIb/ZptqGThM59arSmu2xt6i3sLttNM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749999839; c=relaxed/simple; bh=zNruei/Wq6DKudfKhgOlK/LAw0QNeY727tGMxqK5EFA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hCrPj6CLiJpyQhH6hOrh5R0z1DvV5gbWvRb7hJSRsgFpi2Whcu9RHQElmdyu811AamN6qcJBoASAMVuqmx0yG0r92lppfq82YHsrytXvswVrEcV7jhfZ5372trrNiF4HKxnprh2F/NYfE+UkMFPzFiJhv5Ilr/H4gUhjH3+eWGU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=fw-web.de; spf=pass smtp.mailfrom=fw-web.de; dkim=pass (1024-bit key) header.d=mailerdienst.de header.i=@mailerdienst.de header.b=U6K+sQPA; arc=none smtp.client-ip=134.0.28.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=fw-web.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fw-web.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=mailerdienst.de header.i=@mailerdienst.de header.b="U6K+sQPA" Received: from mxbulk.masterlogin.de (unknown [192.168.10.85]) by mxout1.routing.net (Postfix) with ESMTP id 693CA3FF6D; Sun, 15 Jun 2025 15:03:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailerdienst.de; s=20200217; t=1749999829; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=EMCo+VFbKtuUjRwVkhv/z0zUgSXTtEAWBF4/x1hCKa8=; b=U6K+sQPA5/Dakm2sC94GpFCh+jFoVm5cqODuYLmxyarK2SX5IitN5I997cJETNty7qAZBB y7bO8ywAeRW2z2TI+hiVhu3mqDPAZFlTn3p3KZ/ODOXwUaJdA1Mtox/0z+Z/uaa5hNTUbN v2/z7RhKKDPOLvjmt2N5ouJXXUsxF7o= Received: from frank-u24.. (fttx-pool-217.61.157.124.bambit.de [217.61.157.124]) by mxbulk.masterlogin.de (Postfix) with ESMTPSA id 2E55C122704; Sun, 15 Jun 2025 15:03:49 +0000 (UTC) From: Frank Wunderlich 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@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Simon Horman , Daniel Golle Subject: [net-next v3 3/3] net: ethernet: mtk_eth_soc: change code to skip first IRQ completely Date: Sun, 15 Jun 2025 17:03:18 +0200 Message-ID: <20250615150333.166202-4-linux@fw-web.de> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250615150333.166202-1-linux@fw-web.de> References: <20250615150333.166202-1-linux@fw-web.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Frank Wunderlich On SoCs without MTK_SHARED_INT capability (mt7621 + mt7628) the first IRQ (eth->irq[0]) was read but never used. Skip reading it now too. Signed-off-by: Frank Wunderlich --- drivers/net/ethernet/mediatek/mtk_eth_soc.c | 11 ++++++++--- drivers/net/ethernet/mediatek/mtk_eth_soc.h | 4 ++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethe= rnet/mediatek/mtk_eth_soc.c index 9aec67c9c6d7..4d7de282b940 100644 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c @@ -3346,10 +3346,15 @@ static int mtk_get_irqs(struct platform_device *pde= v, struct mtk_eth *eth) return 0; =20 for (i =3D 0; i < MTK_ETH_IRQ_MAX; i++) { - if (MTK_HAS_CAPS(eth->soc->caps, MTK_SHARED_INT) && i > 0) - eth->irq[i] =3D eth->irq[MTK_ETH_IRQ_SHARED]; + if (MTK_HAS_CAPS(eth->soc->caps, MTK_SHARED_INT)) { + if (i =3D=3D 0) + eth->irq[MTK_ETH_IRQ_SHARED] =3D platform_get_irq(pdev, i); + else + eth->irq[i] =3D eth->irq[MTK_ETH_IRQ_SHARED]; + } else if (i < 2) //skip the 1st and 4th IRQ on !MTK_SHARED_INT + eth->irq[i] =3D platform_get_irq(pdev, i + 1); else - eth->irq[i] =3D platform_get_irq(pdev, i); + continue; =20 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/ethe= rnet/mediatek/mtk_eth_soc.h index 6b1208d05f79..ff2ae3c80179 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)) =20 #define MTK_ETH_IRQ_SHARED 0 -#define MTK_ETH_IRQ_TX 1 -#define MTK_ETH_IRQ_RX 2 +#define MTK_ETH_IRQ_TX 0 +#define MTK_ETH_IRQ_RX 1 #define MTK_ETH_IRQ_MAX 3 =20 struct mtk_rx_dma { --=20 2.43.0