From nobody Sat Jun 13 01:21:58 2026 Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.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 3029F3F7A86 for ; Mon, 11 May 2026 16:54:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.118.77.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778518475; cv=none; b=U2ZA8FozPkDuLTycZcGThJx41p0JDy65HX80JQ6cPrNDkl6uLIzoGpvYEoB7ofm5lM1Ucv5+Pa2shb5CujMKFMp7+whHh3Qe8LZZNCcgGsmyLCPgQ1mX4oGlw+VV4ThF+ivKDBLeHvPEgwFmJLy0IMTZnXrGbK82IcTNNY0j1uE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778518475; c=relaxed/simple; bh=SVY+XzL0WRDAJjMhItC3YD50ZcERn+q0TE8v6fBNfM8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:MIME-Version: Content-Type:References; b=rD2PPyOPUNnZknitgbNnzoKF+mXlpswy4cEa1g9/BTvixkajSgTZcIqazxbiKojWJClQMZ5VOKZn6AWk/8bQzbj6GNX6GA8BNO2VnVuo0cDgloSbS1g2sS2C1t09k317wI3J91CZYChTo40HQE/VE0K7aA6ou/nSv9DwVXXQfxQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com; spf=pass smtp.mailfrom=samsung.com; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b=Fctkq09b; arc=none smtp.client-ip=210.118.77.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=samsung.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="Fctkq09b" Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20260511165431euoutp027518cc2a204222b7950d5b42d601d99c~ukSCIsM7O2707627076euoutp02S for ; Mon, 11 May 2026 16:54:31 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20260511165431euoutp027518cc2a204222b7950d5b42d601d99c~ukSCIsM7O2707627076euoutp02S DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1778518471; bh=j+KDbBeZiTJB3Xxk2nJkbFoxlnLlfncScFtlZ8JdPyA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Fctkq09btKitXriRb326UeAM2FTF3CjyKS/1GuPOMY40gfPfvO8i7anx9rPr9MB/y hIvrkTffePqUSjSyKsNprYgYVh3OMocXG1P47FPZXBm9k7JRznZVuVt5VMfLIN9q9A qVCOCbvuEIkjoiXH5gzIffeG1hT8iMJB3UXMEj8A= Received: from eusmtip1.samsung.com (unknown [203.254.199.221]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20260511165431eucas1p1450bdea6486a72257f6463d5f40abc50~ukSBtk2iA0891108911eucas1p1s; Mon, 11 May 2026 16:54:31 +0000 (GMT) Received: from AMDC4843.eu.corp.samsungelectronics.net (unknown [106.120.77.61]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20260511165430eusmtip1621855ac988d4d7a980dd00603ecea3b~ukSAxOhfX2739027390eusmtip1D; Mon, 11 May 2026 16:54:30 +0000 (GMT) From: Jakub Raczynski To: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com, k.domagalski@samsung.com, k.tegowski@samsung.com, Jakub Raczynski Subject: [PATCH net-next 1/3] net/stmmac/dwxgmac: Modify DMA functions for future hardware Date: Mon, 11 May 2026 18:54:14 +0200 Message-Id: <20260511165416.3093015-2-j.raczynski@samsung.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260511165416.3093015-1-j.raczynski@samsung.com> 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 X-CMS-MailID: 20260511165431eucas1p1450bdea6486a72257f6463d5f40abc50 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20260511165431eucas1p1450bdea6486a72257f6463d5f40abc50 X-EPHeader: CA X-CMS-RootMailID: 20260511165431eucas1p1450bdea6486a72257f6463d5f40abc50 References: <20260511165416.3093015-1-j.raczynski@samsung.com> Datasheet for newer hardware of XGMAC (3.20a and 3.40a) list support for up to 16 DMA/MTL queues. Currently maximum amount of queues in 8 set by STMMAC_CH_MAX, MTL_MAX_TX_QUEUES, MTL_MAX_RX_QUEUES macros. But before we set these to higher value there are changes to be made. While newer hardware supports up to 16 MTL/DMA queues, there is support only for 8 TC's (traffic control) entries. Current source assumes these are equa= l, which might not be true. While in some cases it would be just incorrect val= ue, there are possible wrong memory accesses. Fix this by saving number of TC supported by hardware in mac_device_info and verify it in related functions. Also use TC count rather than MTL_MAX values where it applies. Signed-off-by: Jakub Raczynski --- drivers/net/ethernet/stmicro/stmmac/common.h | 1 + .../net/ethernet/stmicro/stmmac/dwxgmac2_core.c | 17 ++++++++++++++++- .../net/ethernet/stmicro/stmmac/dwxgmac2_dma.c | 14 ++++++++++++-- .../net/ethernet/stmicro/stmmac/stmmac_main.c | 5 ++++- 4 files changed, 33 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/common.h b/drivers/net/eth= ernet/stmicro/stmmac/common.h index 927ea6230073..c25ff649a847 100644 --- a/drivers/net/ethernet/stmicro/stmmac/common.h +++ b/drivers/net/ethernet/stmicro/stmmac/common.h @@ -630,6 +630,7 @@ struct mac_device_info { unsigned int mcast_bits_log2; unsigned int rx_csum; unsigned int num_vlan; + u8 num_tc; u32 vlan_filter[32]; bool vlan_fail_q_en; u8 vlan_fail_q; diff --git a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c b/drivers/= net/ethernet/stmicro/stmmac/dwxgmac2_core.c index f02b434bbd50..98b3e0cc84fa 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c @@ -102,6 +102,9 @@ static void dwxgmac2_rx_queue_prio(struct mac_device_in= fo *hw, u32 prio, u32 ctrl2, ctrl3; int i; =20 + if (WARN_ONCE(queue >=3D hw->num_tc, "invalid RX prio queue")) + return; + ctrl2 =3D readl(ioaddr + XGMAC_RXQ_CTRL2); ctrl3 =3D readl(ioaddr + XGMAC_RXQ_CTRL3); =20 @@ -141,6 +144,9 @@ static void dwxgmac2_tx_queue_prio(struct mac_device_in= fo *hw, u32 prio, void __iomem *ioaddr =3D hw->pcsr; u32 value, reg; =20 + if (WARN_ONCE(queue >=3D hw->num_tc, "invalid TX prio queue")) + return; + reg =3D (queue < 4) ? XGMAC_TC_PRTY_MAP0 : XGMAC_TC_PRTY_MAP1; if (queue >=3D 4) queue -=3D 4; @@ -233,7 +239,7 @@ static void dwxgmac2_prog_mtl_tx_algorithms(struct mac_= device_info *hw, writel(value, ioaddr + XGMAC_MTL_OPMODE); =20 /* Set ETS if desired */ - for (i =3D 0; i < MTL_MAX_TX_QUEUES; i++) { + for (i =3D 0; i < hw->num_tc; i++) { value =3D readl(ioaddr + XGMAC_MTL_TCx_ETS_CONTROL(i)); value &=3D ~XGMAC_TSA; if (ets) @@ -248,6 +254,9 @@ static void dwxgmac2_set_mtl_tx_queue_weight(struct stm= mac_priv *priv, { void __iomem *ioaddr =3D hw->pcsr; =20 + if (WARN_ONCE(queue >=3D hw->num_tc, "invalid MTL TC queue")) + return; + writel(weight, ioaddr + XGMAC_MTL_TCx_QUANTUM_WEIGHT(queue)); } =20 @@ -276,6 +285,9 @@ static void dwxgmac2_config_cbs(struct stmmac_priv *pri= v, void __iomem *ioaddr =3D hw->pcsr; u32 value; =20 + if (WARN_ONCE(queue >=3D hw->num_tc, "invalid TC queue")) + return; + writel(send_slope, ioaddr + XGMAC_MTL_TCx_SENDSLOPE(queue)); writel(idle_slope, ioaddr + XGMAC_MTL_TCx_QUANTUM_WEIGHT(queue)); writel(high_credit, ioaddr + XGMAC_MTL_TCx_HICREDIT(queue)); @@ -366,6 +378,9 @@ static void dwxgmac2_flow_ctrl(struct mac_device_info *= hw, unsigned int duplex, for (i =3D 0; i < tx_cnt; i++) { u32 value =3D XGMAC_TFE; =20 + if (WARN_ONCE(i >=3D hw->num_tc, "invalid TC queue")) + break; + if (duplex) value |=3D FIELD_PREP(XGMAC_PT, pause_time); =20 diff --git a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c b/drivers/n= et/ethernet/stmicro/stmmac/dwxgmac2_dma.c index 03437f1cf3df..6ac9e86f5faa 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c @@ -204,8 +204,18 @@ static void dwxgmac2_dma_tx_mode(struct stmmac_priv *p= riv, void __iomem *ioaddr, value =3D u32_replace_bits(value, ttc, XGMAC_TTC); } =20 - /* Use static TC to Queue mapping */ - value |=3D FIELD_PREP(XGMAC_Q2TCMAP, channel); + /* Newer XGMAC hardware does support up to 16 MTL/DMA queues but + * only 8 traffic class queues. Redirect these, but this is error in + * configuration. + */ + if (channel >=3D priv->hw->num_tc) { + dev_err(priv->device, + "Wrong channel set for TX mode, redirecting to TC 0\n"); + value |=3D FIELD_PREP(XGMAC_Q2TCMAP, 0); + } else { + /* Use static TC to Queue mapping */ + value |=3D FIELD_PREP(XGMAC_Q2TCMAP, channel); + } =20 if (qmode !=3D MTL_QUEUE_AVB) txqen =3D 0x2; diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/ne= t/ethernet/stmicro/stmmac/stmmac_main.c index 3591755ea30b..a1ec3864009e 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -4140,7 +4140,7 @@ static int __stmmac_open(struct net_device *dev, u8 chan; int ret; =20 - for (int i =3D 0; i < MTL_MAX_TX_QUEUES; i++) + for (int i =3D 0; i < priv->plat->tx_queues_to_use; i++) if (priv->dma_conf.tx_queue[i].tbs & STMMAC_TBS_EN) dma_conf->tx_queue[i].tbs =3D priv->dma_conf.tx_queue[i].tbs; memcpy(&priv->dma_conf, dma_conf, sizeof(*dma_conf)); @@ -7443,6 +7443,9 @@ static int stmmac_hw_init(struct stmmac_priv *priv) else priv->plat->tx_coe =3D priv->dma_cap.tx_coe; =20 + /* set number of traffic class queues */ + priv->hw->num_tc =3D priv->dma_cap.numtc; + /* In case of GMAC4 rx_coe is from HW cap register. */ priv->plat->rx_coe =3D priv->dma_cap.rx_coe; =20 --=20 2.34.1 From nobody Sat Jun 13 01:21:58 2026 Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.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 9DDC743DA3A for ; Mon, 11 May 2026 16:54:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.118.77.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778518475; cv=none; b=bXxy2qXuyLmmM40x7r7HLVXT7n3Jms+woV+bx/NzsbFebEn3YSJaV2NxN26HsN14qgfK3enZjxZ1NNJruAsxob28/luIzgibiMm5ImVfwRvJlsNIH1+I+h7YjjCcO+ns7+LfuCJ2iwXpvvpsOaRik7KJs5HsuPJR9y8eGfQq/Yg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778518475; c=relaxed/simple; bh=n4179BlTXbZg1lTfgcWIqzvKZKuWDfe5OP9CmHCK1Ys=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:MIME-Version: Content-Type:References; b=YjMrJyUTsWcrGv5+OzxODgGyrrj6Nhd/htrMZPMVlouNfhe/PFC2LjOl0MHVmX+ZY+5XJl5CkzeembJeZKhEQH69BnIr/XhlQdFNz6DWKZxrRXJMmJdiNp73Dm1ulLcsp6+qFY/elT4VzUArPPDOHO7Qn9FZ9Zn7g08YN6T4Ass= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com; spf=pass smtp.mailfrom=samsung.com; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b=JgbOrZm4; arc=none smtp.client-ip=210.118.77.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=samsung.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="JgbOrZm4" Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20260511165432euoutp0250fd9a694bfb770297f465badb788197~ukSCq3c752603326033euoutp02m for ; Mon, 11 May 2026 16:54:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20260511165432euoutp0250fd9a694bfb770297f465badb788197~ukSCq3c752603326033euoutp02m DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1778518472; bh=da/DjnI9tZGTa9NOBdQBCg0Fra8F1d+y89DrAoA5ByY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JgbOrZm4oZlQcUl062o2hzUc/GLg+YYhFvdUWQ35EyPVLVs3yveO8IeW+LQD4s2QX Lg8MLb6GBXHu7iCevey1DNyyxKmaL7Olg50uon9y3ytke9QiNY1JKy7Zfr6KGThgT/ pOgJmeF00kXgW6QnXetBe53BQ6e+FKOdVqQtzRQ8= Received: from eusmtip1.samsung.com (unknown [203.254.199.221]) by eucas1p2.samsung.com (KnoxPortal) with ESMTPA id 20260511165431eucas1p28254403c5d4117b900dca4ca613bb532~ukSCAIUY13107631076eucas1p2e; Mon, 11 May 2026 16:54:31 +0000 (GMT) Received: from AMDC4843.eu.corp.samsungelectronics.net (unknown [106.120.77.61]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20260511165431eusmtip1bd396eeaf036a77b6203fba2e08697e0~ukSBbLWp_2784027840eusmtip1E; Mon, 11 May 2026 16:54:30 +0000 (GMT) From: Jakub Raczynski To: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com, k.domagalski@samsung.com, k.tegowski@samsung.com, Jakub Raczynski Subject: [PATCH net-next 2/3] net/stmmac/dwxgmac: Extend MTL/DMA support to 16 queues Date: Mon, 11 May 2026 18:54:15 +0200 Message-Id: <20260511165416.3093015-3-j.raczynski@samsung.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260511165416.3093015-1-j.raczynski@samsung.com> 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 X-CMS-MailID: 20260511165431eucas1p28254403c5d4117b900dca4ca613bb532 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20260511165431eucas1p28254403c5d4117b900dca4ca613bb532 X-EPHeader: CA X-CMS-RootMailID: 20260511165431eucas1p28254403c5d4117b900dca4ca613bb532 References: <20260511165416.3093015-1-j.raczynski@samsung.com> New datasheets for XGMAC (3.20a and 3.40a, depending on product) support up= to 16 MTL/DMA queues. Before we increase max amount through macro, prepare dwxgmac functions to handle that. Signed-off-by: Jakub Raczynski --- .../net/ethernet/stmicro/stmmac/dwxgmac2.h | 2 ++ .../ethernet/stmicro/stmmac/dwxgmac2_core.c | 24 +++++++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h b/drivers/net/e= thernet/stmicro/stmmac/dwxgmac2.h index 51943705a2b0..bd333afe7e1b 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h +++ b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h @@ -257,6 +257,8 @@ #define XGMAC_MTL_INT_STATUS 0x00001020 #define XGMAC_MTL_RXQ_DMA_MAP0 0x00001030 #define XGMAC_MTL_RXQ_DMA_MAP1 0x00001034 +#define XGMAC_MTL_RXQ_DMA_MAP2 0x00001038 +#define XGMAC_MTL_RXQ_DMA_MAP3 0x0000103c #define XGMAC_QxMDMACH(x) GENMASK((x) * 8 + 7, (x) * 8) #define XGMAC_QxMDMACH_SHIFT(x) ((x) * 8) #define XGMAC_QDDMACH BIT(7) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c b/drivers/= net/ethernet/stmicro/stmmac/dwxgmac2_core.c index 98b3e0cc84fa..76f8214a6e5b 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c @@ -266,9 +266,29 @@ static void dwxgmac2_map_mtl_to_dma(struct mac_device_= info *hw, u32 queue, void __iomem *ioaddr =3D hw->pcsr; u32 value, reg; =20 - reg =3D (queue < 4) ? XGMAC_MTL_RXQ_DMA_MAP0 : XGMAC_MTL_RXQ_DMA_MAP1; - if (queue >=3D 4) + switch (queue / 4) { + // queue 0 ~ 3 + case 0: + reg =3D XGMAC_MTL_RXQ_DMA_MAP0; + break; + // queue 4 ~ 7 + case 1: + reg =3D XGMAC_MTL_RXQ_DMA_MAP1; queue -=3D 4; + break; + // queue 8 ~ 11 + case 2: + reg =3D XGMAC_MTL_RXQ_DMA_MAP2; + queue -=3D 8; + break; + // queue 12 ~ 15 + case 3: + reg =3D XGMAC_MTL_RXQ_DMA_MAP3; + queue -=3D 12; + break; + default: + return; + } =20 value =3D readl(ioaddr + reg); value &=3D ~XGMAC_QxMDMACH(queue); --=20 2.34.1 From nobody Sat Jun 13 01:21:58 2026 Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.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 B81D744102F for ; Mon, 11 May 2026 16:54:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=210.118.77.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778518477; cv=none; b=WJA96w7UxqBd8Pvqvr6QmV7Kyuqz9Wf4v/H82TD2NNYoa1oGuXCDipQCmmhqICfC9rPKtwgGNfPg1VPglEnST6rr+YT0O/Ghfpw3u7CxquL29ARo1Z9yqOQpd6P+28FAzzKesTXFYsLP9+NvOeGJb19plTxpBZhaml1m9oDqFcY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778518477; c=relaxed/simple; bh=ic0H4UO1h2Q2Xbgoso/ZmLLxCtYkuq0XQxbDjRMp1+4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:MIME-Version: Content-Type:References; b=ktIRzWho880/4Vnoh1jPd6ZGskUa9bq2txa24Lsi60hV8AYuxccoKAddeDsMP9ElzRuYhW5Igjlf0GU2jBRY1njhIUv/gP0DGR7D59Afi6SZfz9A0111HxHhnozeWv42+TuVqBuDw2RV6RRWR1bqbuMYPM33ThmcG4lgOF3GHzY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com; spf=pass smtp.mailfrom=samsung.com; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b=ZfUWEIkh; arc=none smtp.client-ip=210.118.77.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=samsung.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=samsung.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="ZfUWEIkh" Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20260511165432euoutp028b8862743cad3adf888902a2fe1aa720~ukSC_vQ3B2603326033euoutp02n for ; Mon, 11 May 2026 16:54:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20260511165432euoutp028b8862743cad3adf888902a2fe1aa720~ukSC_vQ3B2603326033euoutp02n DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1778518472; bh=HiP2hwWPH30nfu3+Qan9TooCkOWsRZoMyJjPB9uIt4w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZfUWEIkhFYvK4ng1l0+DzkhjzFJZgPKeWwski8lSEqNQgcwEFO6I3zA9ceC08ToV+ gNsx8C2S07b9MDK4AZxITf2hR2mY3COx3kU67zsqEmmlVMcsZzAfdTRz7RMlvjsqU/ mbJHFu9V5pR2k45x9YrRqPaLH4KiSgAt9ismIWSo= Received: from eusmtip1.samsung.com (unknown [203.254.199.221]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20260511165432eucas1p1954811c2d67a64f9577ee8d92e903915~ukSCrHq8B0893208932eucas1p1n; Mon, 11 May 2026 16:54:32 +0000 (GMT) Received: from AMDC4843.eu.corp.samsungelectronics.net (unknown [106.120.77.61]) by eusmtip1.samsung.com (KnoxPortal) with ESMTPA id 20260511165431eusmtip17be03aa00d67bfff28614ebc2468254c~ukSCF3tUU2739027390eusmtip1E; Mon, 11 May 2026 16:54:31 +0000 (GMT) From: Jakub Raczynski To: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com, k.domagalski@samsung.com, k.tegowski@samsung.com, Jakub Raczynski Subject: [PATCH net-next 3/3] include/stmmac: Increase max DMA/MTL channel count from 8 to 16 Date: Mon, 11 May 2026 18:54:16 +0200 Message-Id: <20260511165416.3093015-4-j.raczynski@samsung.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260511165416.3093015-1-j.raczynski@samsung.com> 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 X-CMS-MailID: 20260511165432eucas1p1954811c2d67a64f9577ee8d92e903915 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20260511165432eucas1p1954811c2d67a64f9577ee8d92e903915 X-EPHeader: CA X-CMS-RootMailID: 20260511165432eucas1p1954811c2d67a64f9577ee8d92e903915 References: <20260511165416.3093015-1-j.raczynski@samsung.com> Newer XGMAC hardware does support up to 16 DMA/MTL queues. Add support for these after previous modifications of driver to accomodate = for that. Signed-off-by: Jakub Raczynski --- include/linux/stmmac.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h index 4430b967abde..a9d19e2c388c 100644 --- a/include/linux/stmmac.h +++ b/include/linux/stmmac.h @@ -15,9 +15,9 @@ #include #include =20 -#define MTL_MAX_RX_QUEUES 8 -#define MTL_MAX_TX_QUEUES 8 -#define STMMAC_CH_MAX 8 +#define MTL_MAX_RX_QUEUES 16 +#define MTL_MAX_TX_QUEUES 16 +#define STMMAC_CH_MAX 16 =20 #define STMMAC_RX_COE_NONE 0 #define STMMAC_RX_COE_TYPE1 1 --=20 2.34.1