From patchwork Wed Aug 9 16:49:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jisheng Zhang X-Patchwork-Id: 133369 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp2959474vqr; Wed, 9 Aug 2023 10:26:29 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFnefklV8JEe2srFY58X/0n/wRWnRodBCgQxx15lMIEhXB4LeEFWA65dsc2i+uYJ20DDqVB X-Received: by 2002:a17:902:ec88:b0:1b8:8702:1e7c with SMTP id x8-20020a170902ec8800b001b887021e7cmr187768plg.33.1691601989169; Wed, 09 Aug 2023 10:26:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691601989; cv=none; d=google.com; s=arc-20160816; b=BWJtZMuF5/D427TzZLmddWXb+UO2fECMoMo4qOrb92JXjRPDpYHK6DuJoNb3Va4x3q eWJT+2glEwahT33Z9e2MtY38wwsGE2ND/DOOTlMnVfTDCtakOVRQPLqC5olHDtOHinJR AvgWnVG7Wd4wCMU+eXpshvJBHvk1e3h7dTAxAXXxKxlUvjTZHEvjbFLRK/LbgQkvpRc3 2fGSIRGS/kZ16Rkt+XOIKLOlZR4YuWYaCCg3SFxyfWRzdMCIxoiym3O2jQB6N73Wb9HK KFiEE8cWpWnvLV1cKq3nz/jI8SECeO0b2T98Sa3Pb1QjueOolIMXWkcJhXjPqNnVOwUE /hSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=QIPWj2XioSVjoNk4HcFCZavqjRA/2B/K+BYa+G9JqvQ=; fh=UEVvRAFK6gmZxZNnJDUC7AmNk/iU78fiWA23OmiDi44=; b=iioLz0+xPS2UvU09q1FHTen2RcIn4u7j/mN8ycxxAYhOW35Igwrjw9kAlNroqLOZLj 5LKIU+6d87WHhmq36iKCeXZyGRL4UoJCnV/x629+Zc1q5HZp30YMi4r+le0OsGiQNH+I o6XB31XaaaU9Nmws2rsQz/aJXWNr3AbMSq/Kr1IiVIoTbf3Q8m6aIQgcbesOlMqfLCBm Q86h1gIDa0EARS1tdfv0KtZp5p8SQxij8of4LdxVXekpqmc4rYFEXmKGIpAufxqxAOKt WbdGvwHyl/3wJFz8Ofx7bw/Q1r0934tiJvu9UwP1YLgFM+cSw7B4xAkYbfH+eQ+VlgZv gAaQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=mKhnJU9A; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q27-20020a635c1b000000b00563e0e86f17si9386763pgb.573.2023.08.09.10.26.11; Wed, 09 Aug 2023 10:26:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=mKhnJU9A; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232428AbjHIRB6 (ORCPT + 99 others); Wed, 9 Aug 2023 13:01:58 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51844 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232254AbjHIRBx (ORCPT ); Wed, 9 Aug 2023 13:01:53 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7B8722103; Wed, 9 Aug 2023 10:01:52 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 0E50E64172; Wed, 9 Aug 2023 17:01:52 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CBCDFC43391; Wed, 9 Aug 2023 17:01:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1691600511; bh=d3IEyKFkLTaGuIoiBZGy50KXj/3eibRX6B2ljjyT/mA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mKhnJU9A0/uVkKlzLC7/TVT/iJMx6vCu83QzvMvfZ+jUh/eMgVEu21OM6k5jAU7Di lSK6AFaSnKeHgFA6FY4qlb8Ex3ED0+DG+NJzW0FWIh0D7OhjVwNKu9eKxDOnbFV9Rt mnEm0ZKy/2r2pzub+rRpdypG7GjePu61sG3Pt1QeESKdN51pNwJtRcT9iXBDLJRacu 0umSLX7DLyPozRrkQhT8RIdzNeBs2R7kRUfUFIK98MhZA/gvm2CXSwHwM/7gE2EGIS udlaqpTVMHEBFK+0d4fk9GdoLtMbMQvP3OpdWJKD8zCNNiyUUxNjkZXn0IuJ5QLUvK h9LdQkZaoizPw== From: Jisheng Zhang To: "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Giuseppe Cavallaro , Alexandre Torgue , Jose Abreu Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org Subject: [PATCH net-next v3 01/10] net: stmmac: correct RX COE parsing for xgmac Date: Thu, 10 Aug 2023 00:49:58 +0800 Message-Id: <20230809165007.1439-2-jszhang@kernel.org> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230809165007.1439-1-jszhang@kernel.org> References: <20230809165007.1439-1-jszhang@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773773247659721244 X-GMAIL-MSGID: 1773773247659721244 xgmac can support RX COE, but there's no two kinds of COE, I.E type 1 and type 2 COE. Signed-off-by: Jisheng Zhang Acked-by: Alexandre TORGUE --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index e1f1c034d325..15ed3947361b 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -6271,7 +6271,7 @@ static int stmmac_dma_cap_show(struct seq_file *seq, void *v) seq_printf(seq, "\tAV features: %s\n", (priv->dma_cap.av) ? "Y" : "N"); seq_printf(seq, "\tChecksum Offload in TX: %s\n", (priv->dma_cap.tx_coe) ? "Y" : "N"); - if (priv->synopsys_id >= DWMAC_CORE_4_00) { + if (priv->synopsys_id >= DWMAC_CORE_4_00 || priv->plat->has_xgmac) { seq_printf(seq, "\tIP Checksum Offload in RX: %s\n", (priv->dma_cap.rx_coe) ? "Y" : "N"); } else { @@ -7013,7 +7013,7 @@ static int stmmac_hw_init(struct stmmac_priv *priv) if (priv->plat->rx_coe) { priv->hw->rx_csum = priv->plat->rx_coe; dev_info(priv->device, "RX Checksum Offload Engine supported\n"); - if (priv->synopsys_id < DWMAC_CORE_4_00) + if (priv->synopsys_id < DWMAC_CORE_4_00 && !priv->plat->has_xgmac) dev_info(priv->device, "COE Type %d\n", priv->hw->rx_csum); } if (priv->plat->tx_coe) From patchwork Wed Aug 9 16:49:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jisheng Zhang X-Patchwork-Id: 133370 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp2960126vqr; Wed, 9 Aug 2023 10:27:30 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGvSMCxolIMOM2P9aBatkejCFwqSraMn1DJNYm95WBKWzsY4HF7wazLf6C5zmNqJXJBgXEK X-Received: by 2002:aca:2316:0:b0:3a1:dd99:8158 with SMTP id e22-20020aca2316000000b003a1dd998158mr3376299oie.6.1691602050005; Wed, 09 Aug 2023 10:27:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691602049; cv=none; d=google.com; s=arc-20160816; b=xdsM8GywUwbVH7nu4T79Tlw8mGyhOymmpsLUJrWyBk0/7auj9FtjDJiFnGapJrvA/X +tpF1B5vsdtJpur3fwO1aEe0EltYfFIS/pDlTxiFMAPfKWN7lwwT96iNVn6tQ/N2mKVB q/P9bIGRD5cjm7wr/0KBfxDVQrJSfvOJoYRFUj3dD+fwDTjgOboE/WTUj7aX3frwhgzs o6NIKkIkRXieBGPFY5UK8BJcI6jjK2Q0FhlZTfCNPJWDiEy+X50v9l7iCVSj65dGgbY0 YdZQhskomM1OwIPv3vQo4cmODq7WUSChWZ5H70gYw8W8wdWqD+sMOSrGo85aoiOerYBA DWUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=EX4RfA6Sg8B0FzRvd+FHk3036MzmT/RFTlQvTFVhNg0=; fh=UEVvRAFK6gmZxZNnJDUC7AmNk/iU78fiWA23OmiDi44=; b=qZ2vGDfcpM8qKahISip/7GaaSyhNJCDwvDysFcKtganxSOW9GxoLWBNFkagEpCABNZ lMDQkM8pHi5/9y1TwZNmkArmP7RKyDx8C1rF066fottg7aIMgUM+KD7qJqA6vKWANPN5 ROwqI4TmvANhAhZ6qBIiVnDPNaR2wJxHMmBazPlR7IURmIo22THTkbwLHbXzvC9VJIQo 3o9l8GjYkswZijzqUhshMlVLsURw2C+RjpQFWEpZ3mve/HNV5KEbZHqQ4gmLZq0JimV4 zDv0sQ4wWapoXtOzJxX8lrA0VTGSjQ7JheSH2J2+VdTGfJc/LCmZVtGX1lYbvAqnrjip ujHg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ftjeWrM2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id d62-20020a633641000000b005634f8f269csi9695950pga.9.2023.08.09.10.27.15; Wed, 09 Aug 2023 10:27:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=ftjeWrM2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232367AbjHIRCM (ORCPT + 99 others); Wed, 9 Aug 2023 13:02:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51950 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232355AbjHIRB5 (ORCPT ); Wed, 9 Aug 2023 13:01:57 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D1D072100; Wed, 9 Aug 2023 10:01:55 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 4A473641BB; Wed, 9 Aug 2023 17:01:55 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CC994C43395; Wed, 9 Aug 2023 17:01:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1691600514; bh=xPpxwJzBLsCaca6qQZWRTcviG5VQc7YuCxtBnfOO0Sc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ftjeWrM2vszKk0pjhd+iTUqKRNmgdY1xZjDlMzt5r946dcWZeTuzXpMXhTWepbwms FEyiMj65e6ZxDlJsDTz6TLJHsZUq/TGnRIy8xcd0VxzDf92xW/rZSjSvAb3scYb/od rzqe5DdkB81Dg+uPVTqCgeOzEoGH1+1J2JDsKgsDhpVf6nLCCbHivao/q9iuIKc1wr EEk77jrxEbC7B5sn6dFiQAGCRNC8XnAhX8hpGw3o0qWlY+3nqumnfRojn4UISfTW9m fOx+ywo9pD1aFXWEc6YK/OnGP/5bslpHQyanjdby3W++CMvpCH3lJVTf8sGOQWpIsx nOcbFtlOD+6IA== From: Jisheng Zhang To: "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Giuseppe Cavallaro , Alexandre Torgue , Jose Abreu Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org Subject: [PATCH net-next v3 02/10] net: stmmac: xgmac: add more feature parsing from hw cap Date: Thu, 10 Aug 2023 00:49:59 +0800 Message-Id: <20230809165007.1439-3-jszhang@kernel.org> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230809165007.1439-1-jszhang@kernel.org> References: <20230809165007.1439-1-jszhang@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773773310957351786 X-GMAIL-MSGID: 1773773310957351786 The XGMAC_HWFEAT_GMIISEL bit also indicates whether support 10/100Mbps or not. The XGMAC_HWFEAT_HDSEL bit indicates whether support half duplex or not. The XGMAC_HWFEAT_ADDMACADRSEL bit indicates whether support Multiple MAC address registers or not. The XGMAC_HWFEAT_SMASEL bit indicates whether support SMA (MDIO) Interface or not. Signed-off-by: Jisheng Zhang Acked-by: Alexandre TORGUE --- drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h | 3 +++ drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h index 153321fe42c3..81cbb13a101d 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h +++ b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h @@ -111,6 +111,7 @@ #define XGMAC_LPI_TIMER_CTRL 0x000000d4 #define XGMAC_HW_FEATURE0 0x0000011c #define XGMAC_HWFEAT_SAVLANINS BIT(27) +#define XGMAC_HWFEAT_ADDMACADRSEL GENMASK(22, 18) #define XGMAC_HWFEAT_RXCOESEL BIT(16) #define XGMAC_HWFEAT_TXCOESEL BIT(14) #define XGMAC_HWFEAT_EEESEL BIT(13) @@ -121,7 +122,9 @@ #define XGMAC_HWFEAT_MMCSEL BIT(8) #define XGMAC_HWFEAT_MGKSEL BIT(7) #define XGMAC_HWFEAT_RWKSEL BIT(6) +#define XGMAC_HWFEAT_SMASEL BIT(5) #define XGMAC_HWFEAT_VLHASH BIT(4) +#define XGMAC_HWFEAT_HDSEL BIT(3) #define XGMAC_HWFEAT_GMIISEL BIT(1) #define XGMAC_HW_FEATURE1 0x00000120 #define XGMAC_HWFEAT_L3L4FNUM GENMASK(30, 27) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c index b09395f5edcb..b5ba4e0cca55 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c @@ -406,6 +406,10 @@ static int dwxgmac2_get_hw_feature(void __iomem *ioaddr, dma_cap->pmt_remote_wake_up = (hw_cap & XGMAC_HWFEAT_RWKSEL) >> 6; dma_cap->vlhash = (hw_cap & XGMAC_HWFEAT_VLHASH) >> 4; dma_cap->mbps_1000 = (hw_cap & XGMAC_HWFEAT_GMIISEL) >> 1; + dma_cap->mbps_10_100 = (hw_cap & XGMAC_HWFEAT_GMIISEL) >> 1; + dma_cap->half_duplex = (hw_cap & XGMAC_HWFEAT_HDSEL) >> 3; + dma_cap->multi_addr = (hw_cap & XGMAC_HWFEAT_ADDMACADRSEL) >> 18; + dma_cap->sma_mdio = (hw_cap & XGMAC_HWFEAT_SMASEL) >> 5; /* MAC HW feature 1 */ hw_cap = readl(ioaddr + XGMAC_HW_FEATURE1); From patchwork Wed Aug 9 16:50:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jisheng Zhang X-Patchwork-Id: 133371 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp2960185vqr; Wed, 9 Aug 2023 10:27:35 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGLdMvES0zrn5HUR1Dcru99g6xNeRys9AtCsP65bn39JQCFQulQdTv2p3xq6cLrygDiOvQr X-Received: by 2002:a05:6a00:1915:b0:67a:b045:e290 with SMTP id y21-20020a056a00191500b0067ab045e290mr4026665pfi.4.1691602054688; Wed, 09 Aug 2023 10:27:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691602054; cv=none; d=google.com; s=arc-20160816; b=KsnGLGyh4LfLMWiU4z0/OzYLdto8PSI4+u9xFWGvllf6lSstUXcox0ViB8KWVbcxq1 moP2bMyI25s3vhmlWeAgHaSORU1PD+kcasBLeHBQT07txOlXLsT0deoatMSxfB+kPKAe irIeG3s5DsgvjO1lqHk0tePj7sPgVI1NgKx9UseFNmqhP37F3tQ4Pq3CMjK6SdLrEZLC zatDWxrio4FuFBGc4nZUBM3fm+hL2ERrjDW4Ia7P1kUNzxsxR6c9yebJ3I5WyQ8KArGo Dm6cpv4uZHgL/+UyfcfKXBlKMTSJMUkyk2DLt2XmFduzfDfqj/a+i99Jrc8mupjw96Cb Ij+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=8FgbEWjZHjQX/FQK4qsh6TOpU6UQn7jc6R+LidU6KFI=; fh=UEVvRAFK6gmZxZNnJDUC7AmNk/iU78fiWA23OmiDi44=; b=c8ORShAhs2SJevtidDQolH41MJw/pUzgtAIwnXgiwL1HeH7ttsC+GGq/VG++GfLE+4 6uKDE6dd3TFnjqji+AgwrsbTXmRAmRQ4a8gAbmwStSix0ZA4RO5BqYM/6Z27LGnbSXV1 oP0+DKSqX3afXNuJrA6nodZHyemDXKOF11/BwzB9A7oROgZjx4YYz6N9b+lcbcE+nBo9 NtcsvplfAvV0nLk0jctYIL3b9qz+WqKAnHwkRnIXRsf8ssosB6418q8x98dQjtTEGfOw VxkMkcfOJMXgZ/1gerMtyBL2kl6U9Lr9qdlZtu7LtgNHQ2DUnpxKm4DslXayusxyHDPF X32g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=kSJDgiKI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id cb8-20020a056a00430800b0068208d19b15si9540555pfb.249.2023.08.09.10.27.21; Wed, 09 Aug 2023 10:27:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=kSJDgiKI; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232385AbjHIRCP (ORCPT + 99 others); Wed, 9 Aug 2023 13:02:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51962 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232483AbjHIRCA (ORCPT ); Wed, 9 Aug 2023 13:02:00 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 057A72108; Wed, 9 Aug 2023 10:01:59 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 90B23641C3; Wed, 9 Aug 2023 17:01:58 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1A0FEC433CC; Wed, 9 Aug 2023 17:01:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1691600518; bh=+ysItbKZr2r8wDthNuZTqSVce0mf6PlXK4jyZ+ackfA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kSJDgiKIr3wPBI9HdtaTnJjlCWTAXshygqxPj3S4cr7PjCURUYZz7K36JFeM6xEbF BpNU3bNh4yLma8AZnAxYOcZIVAO5nCrGS6bClAVsN3pAxvWajVWYqGx+TM7xGap2HD gE5BiXnxCStgeDB8Y2W5b+rU/P1l+Cihl4G7ELjOHwLbKoj6vnz7FMPR881BMu4q/P 5bdMs3VtMu6/FgGwi/cbBVfQi0UsCpxkTD6dpNu32WACbGHmNy5EXNg2etgty/bcGa wg136JAgiBACQh4iGVfUoKyXEc6s4/3Y8YjMX740JZuKDSfUSHNVdL6THRnvSufpV9 2QkNB9+jdVL/w== From: Jisheng Zhang To: "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Giuseppe Cavallaro , Alexandre Torgue , Jose Abreu Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org Subject: [PATCH net-next v3 03/10] net: stmmac: mdio: enlarge the max XGMAC C22 ADDR to 31 Date: Thu, 10 Aug 2023 00:50:00 +0800 Message-Id: <20230809165007.1439-4-jszhang@kernel.org> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230809165007.1439-1-jszhang@kernel.org> References: <20230809165007.1439-1-jszhang@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773773316152351622 X-GMAIL-MSGID: 1773773316152351622 The IP can support up to 31 xgmac c22 addresses now. Signed-off-by: Jisheng Zhang Acked-by: Alexandre TORGUE --- drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c index 3db1cb0fd160..e6d8e34fafef 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c @@ -40,7 +40,7 @@ #define MII_XGMAC_WRITE (1 << MII_XGMAC_CMD_SHIFT) #define MII_XGMAC_READ (3 << MII_XGMAC_CMD_SHIFT) #define MII_XGMAC_BUSY BIT(22) -#define MII_XGMAC_MAX_C22ADDR 3 +#define MII_XGMAC_MAX_C22ADDR 31 #define MII_XGMAC_C22P_MASK GENMASK(MII_XGMAC_MAX_C22ADDR, 0) #define MII_XGMAC_PA_SHIFT 16 #define MII_XGMAC_DA_SHIFT 21 From patchwork Wed Aug 9 16:50:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jisheng Zhang X-Patchwork-Id: 133372 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp2960217vqr; Wed, 9 Aug 2023 10:27:37 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFdjWPVCZtUXIc8m8/VaCKSb6X1TfpTf7Tthgplgu0WaQ3jwjZAk2zl8bIWBX66wh5wkawV X-Received: by 2002:a17:90a:5996:b0:269:46d7:f1db with SMTP id l22-20020a17090a599600b0026946d7f1dbmr2990670pji.32.1691602057663; Wed, 09 Aug 2023 10:27:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691602057; cv=none; d=google.com; s=arc-20160816; b=qJXIHlPuxBaZ5NuLUt2EZyJ94u5mCKg4XhaYBY+B4v2fA0KwxW9FUD/vf10alBLUCq PIHgQxcVK6xV0gsjvtKyjHnFdYJKDWux039KE3vn9HHo9O/6RKFgjnM2ZTViohp/X4Vo hz+sloFb+UatTDys+67iKjVGPz/Q/ZDCuo8njlpkStluplcD0qaL0jrtqvXVI6hZRIds jgcTf+ewmn/nKQjMN+m7fY5bSSHsonRNolk0NtyzNjDnl7ypDqhQischL1kQ6G1wvi5w gK5jbUy2HNDzhsJuPwPJq8hapTOJ5nIaoCMwWfpK0CreBmYx5C5mxEZEoH8fDu9/Km51 5q6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=C0xPvxkGmvpZZKX8r6B9DNbRQ9aUKvuR4yQsgLEgQ3I=; fh=UEVvRAFK6gmZxZNnJDUC7AmNk/iU78fiWA23OmiDi44=; b=gYsvRiMTFC3dg34IlKsa7HP0mYWTtRanRsC3eajXJI9gfD85hpCsBTbic+VDjmXoQT v/9Nq/JA4mNdLxRmMYRZdhIqmgMuMSD2r8JWQPptc8MMEHGPMavbgFnQiXGffSKOfLrr y/64gsjvMIHTDCCvw0+oJPBz6b/up/D5+LkNjfYrOG4Tpluo5DDLmJvEWqldqn8UDhVk VcAQxMcMFoUWudRo8qBcthU7ElIrd0jqZMHrkynFeEApLrq35SWjMxWTTaBpB1RRt20B G6jBtt7C+UDPxLqs5NGFCd5/L1lWR5c23nJEqyCdaDSzZzj0Jc5wKGca036wm42Cms+z IM7Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=JFN6RYl+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id oc5-20020a17090b1c0500b002680abd9398si2064892pjb.88.2023.08.09.10.27.25; Wed, 09 Aug 2023 10:27:37 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=JFN6RYl+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232642AbjHIRCT (ORCPT + 99 others); Wed, 9 Aug 2023 13:02:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51950 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232568AbjHIRCC (ORCPT ); Wed, 9 Aug 2023 13:02:02 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EA2192106; Wed, 9 Aug 2023 10:02:01 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 7B5D5641C3; Wed, 9 Aug 2023 17:02:01 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5F458C433CD; Wed, 9 Aug 2023 17:01:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1691600520; bh=DE4uo4JK2isjtFObJJyFLlrT5b6CK5kuMo4uw+Jhg2c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JFN6RYl+M59YpWe19hAChu5SWzQB35nUp6hDH8BPSvUnpKx+NF67xEXL973v0+iFA TGP89k4RRXhABdvN2W/azWDTKPMFI8EdXLVK3dM9dpW0tPGHNrrZ9+/JZlbAR4G2Jo ZeZ1O0hxTM4wpzr04uaJaAj1HVdeeVB9UOjW6P6a9aSf72SMMtlE63TtxQLvwdvrg6 FMQSzTEIbp4Aygb5LqkP5LD6HB/89fr7vnxDbBzniKXx9RmhvU31Y0QcQ2jF9m2DgG h7S5q3X4/qYytyNUkhxXsgc/CtiJziehwwDwnqjTeXW28QF7JDPGLuFT3wIIG7O+pS YcsQZk9Y4C4yA== From: Jisheng Zhang To: "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Giuseppe Cavallaro , Alexandre Torgue , Jose Abreu Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org Subject: [PATCH net-next v3 04/10] net: stmmac: enlarge max rx/tx queues and channels to 16 Date: Thu, 10 Aug 2023 00:50:01 +0800 Message-Id: <20230809165007.1439-5-jszhang@kernel.org> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230809165007.1439-1-jszhang@kernel.org> References: <20230809165007.1439-1-jszhang@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773773319035041497 X-GMAIL-MSGID: 1773773319035041497 xgmac supports up to 16 rx/tx queues and up to 16 channels. Signed-off-by: Jisheng Zhang Acked-by: Alexandre TORGUE --- drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c | 5 ++--- include/linux/stmmac.h | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c index a0c2ef8bb0ac..aaae82d3d9dc 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c @@ -202,9 +202,8 @@ static void dwxgmac2_map_mtl_to_dma(struct mac_device_info *hw, u32 queue, void __iomem *ioaddr = hw->pcsr; u32 value, reg; - reg = (queue < 4) ? XGMAC_MTL_RXQ_DMA_MAP0 : XGMAC_MTL_RXQ_DMA_MAP1; - if (queue >= 4) - queue -= 4; + reg = XGMAC_MTL_RXQ_DMA_MAP0 + (queue & ~0x3); + queue &= 0x3; value = readl(ioaddr + reg); value &= ~XGMAC_QxMDMACH(queue); diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h index ef67dba775d0..11671fd6adee 100644 --- a/include/linux/stmmac.h +++ b/include/linux/stmmac.h @@ -15,9 +15,9 @@ #include #include -#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 #define STMMAC_RX_COE_NONE 0 #define STMMAC_RX_COE_TYPE1 1 From patchwork Wed Aug 9 16:50:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jisheng Zhang X-Patchwork-Id: 133373 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp2960240vqr; Wed, 9 Aug 2023 10:27:39 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHcJ4t9LfPVHI4aMlUNotIe2O+ArHz619okn80fLyuezwavsTzpxhcWKbpSJSwFlva/e7Qg X-Received: by 2002:a17:90a:68cd:b0:268:105b:ca1c with SMTP id q13-20020a17090a68cd00b00268105bca1cmr2619011pjj.32.1691602059499; Wed, 09 Aug 2023 10:27:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691602059; cv=none; d=google.com; s=arc-20160816; b=Qy9GmGxMKEI4v4GbnOdwk2MN//H9oWHrtVH0AtKdLUFvgOgs22GHbQDxdYqk81DaxL FCEz+lqShl6CoJkFXIIUTx5hjLwrH0EfKr4RIgzmo50HUTuSB5Grl/Qew0si7ydBGl0i CxrdW5ulH4ka7RK4zdLj8hnwYQuJkm2x6wgwpgOMau2pe3ANQN5ldRdg8qZgK23Ib1gC PUxKkRLKLhHQhHbvKUdgAnjxYpgQMWYAGXs/i+Qye2C04cKmyQ2XcWWI7+OStTYXkK6G pUO6246d9nl6JdboooDbcT2Z764Ghr6YCoBE9WMMkftGVTz2yuvgGFxLLw9L4W2fVPHh tQbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Yptb9VlNvNe5087fqGRzeVbcdzABoZWuFykd/SNKa7o=; fh=UEVvRAFK6gmZxZNnJDUC7AmNk/iU78fiWA23OmiDi44=; b=pHzo5h0tJXprQGgETznoXcHhe3xPpJf1NBAezFi73wVW9bUwLXEcdCu78OXULjaTp7 urSnkBjEf7y6QxRt7L78B7H6wPurQWIR0WyBRl6K05Lz/T8htfw9sDVntRKxCRiz5Kam gpLOrWvCYLB5hEUf+Cra6icoJMcK7fG9Y+mi2p+dPwauaFqV0VnWBEnSB4Ukrg/eZ5TN /aNzj8HVYZNI39HnRuMH5HAlqmrnIx5LbmDISFzOGJDuUYan3d6yk5nuHSHLYJF8AKdq pXXA5+FqQF8IgX4tEUH8Sha2F+XnNPJxDMpgdpQM7jLAsKp+c2clrXjOxE+sdB+sgoEX IQEw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=EIqeT8gR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id mu12-20020a17090b388c00b0026821262c7csi1945148pjb.116.2023.08.09.10.27.27; Wed, 09 Aug 2023 10:27:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=EIqeT8gR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232683AbjHIRCW (ORCPT + 99 others); Wed, 9 Aug 2023 13:02:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47292 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232673AbjHIRCG (ORCPT ); Wed, 9 Aug 2023 13:02:06 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E73732123; Wed, 9 Aug 2023 10:02:04 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 68C6F641D6; Wed, 9 Aug 2023 17:02:04 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4E9D7C433C9; Wed, 9 Aug 2023 17:02:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1691600523; bh=WYZtdfxDSNw9B+qNMFLdT206U/oHYajMdyw1mHyU1go=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EIqeT8gR5t01YZTbcT3H/SeM22/g1KthXDkJ+jNZXECi135sPuznPxZ9EKWSOd9Z0 +E1J96k/s8djVqQF3erkve/8XraqBLblki820aI3o/4nblU6Nw2/xwsi5TKYcYDNgi Kvf0XYIqVguz/25Juc+C33TzpNY7MJRmZ3Us5haw8vZe0c+K+JqYLIAxIaucshuU6f aPrVd1v4Nx2tTqYdU/mKGFsJXwppHjAjC8gKP9yILrbu2XSPXYBc/d/yGX5gUWwQzO JvunHlUjT/1R9jhvY2DJv2lRZdESSq2yckgh5QZ1pNaxO0v/rk7nzGxNuqkRL5b4tU cKEVLJe9CuByg== From: Jisheng Zhang To: "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Giuseppe Cavallaro , Alexandre Torgue , Jose Abreu Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org Subject: [PATCH net-next v3 05/10] net: stmmac: reflect multi irqs for tx/rx channels and mac and safety Date: Thu, 10 Aug 2023 00:50:02 +0800 Message-Id: <20230809165007.1439-6-jszhang@kernel.org> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230809165007.1439-1-jszhang@kernel.org> References: <20230809165007.1439-1-jszhang@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773773321226675909 X-GMAIL-MSGID: 1773773321226675909 The IP supports per channel interrupt, when intel adds the per channel interrupt support, the per channel irq is from MSI vector, but this feature can also be supported on non-MSI platforms. Do some necessary renaming to reflects this fact. Signed-off-by: Jisheng Zhang --- .../net/ethernet/stmicro/stmmac/dwmac-intel.c | 4 +- .../net/ethernet/stmicro/stmmac/dwmac4_dma.c | 2 +- .../net/ethernet/stmicro/stmmac/stmmac_main.c | 48 +++++++++---------- include/linux/stmmac.h | 4 +- 4 files changed, 29 insertions(+), 29 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c index 0ffae785d8bd..99a072907008 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c @@ -953,7 +953,7 @@ static int stmmac_config_single_msi(struct pci_dev *pdev, res->irq = pci_irq_vector(pdev, 0); res->wol_irq = res->irq; - plat->flags &= ~STMMAC_FLAG_MULTI_MSI_EN; + plat->flags &= ~STMMAC_FLAG_PERCH_IRQ_EN; dev_info(&pdev->dev, "%s: Single IRQ enablement successful\n", __func__); @@ -1005,7 +1005,7 @@ static int stmmac_config_multi_msi(struct pci_dev *pdev, if (plat->msi_sfty_ue_vec < STMMAC_MSI_VEC_MAX) res->sfty_ue_irq = pci_irq_vector(pdev, plat->msi_sfty_ue_vec); - plat->flags |= STMMAC_FLAG_MULTI_MSI_EN; + plat->flags |= STMMAC_FLAG_PERCH_IRQ_EN; dev_info(&pdev->dev, "%s: multi MSI enablement successful\n", __func__); return 0; diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c b/drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c index 84d3a8551b03..9bf8adf466a2 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c @@ -175,7 +175,7 @@ static void dwmac4_dma_init(void __iomem *ioaddr, value = readl(ioaddr + DMA_BUS_MODE); - if (dma_cfg->multi_msi_en) { + if (dma_cfg->perch_irq_en) { value &= ~DMA_BUS_MODE_INTM_MASK; value |= (DMA_BUS_MODE_INTM_MODE1 << DMA_BUS_MODE_INTM_SHIFT); } diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index 15ed3947361b..4ed5c976c7a3 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -125,11 +125,11 @@ module_param(chain_mode, int, 0444); MODULE_PARM_DESC(chain_mode, "To use chain instead of ring mode"); static irqreturn_t stmmac_interrupt(int irq, void *dev_id); -/* For MSI interrupts handling */ +/* For multi interrupts handling */ static irqreturn_t stmmac_mac_interrupt(int irq, void *dev_id); static irqreturn_t stmmac_safety_interrupt(int irq, void *dev_id); -static irqreturn_t stmmac_msi_intr_tx(int irq, void *data); -static irqreturn_t stmmac_msi_intr_rx(int irq, void *data); +static irqreturn_t stmmac_queue_intr_tx(int irq, void *data); +static irqreturn_t stmmac_queue_intr_rx(int irq, void *data); static void stmmac_reset_rx_queue(struct stmmac_priv *priv, u32 queue); static void stmmac_reset_tx_queue(struct stmmac_priv *priv, u32 queue); static void stmmac_reset_queues_param(struct stmmac_priv *priv); @@ -3513,7 +3513,7 @@ static void stmmac_free_irq(struct net_device *dev, } } -static int stmmac_request_irq_multi_msi(struct net_device *dev) +static int stmmac_request_irq_multi(struct net_device *dev) { struct stmmac_priv *priv = netdev_priv(dev); enum request_irq_err irq_err; @@ -3530,7 +3530,7 @@ static int stmmac_request_irq_multi_msi(struct net_device *dev) 0, int_name, dev); if (unlikely(ret < 0)) { netdev_err(priv->dev, - "%s: alloc mac MSI %d (error: %d)\n", + "%s: alloc mac irq %d (error: %d)\n", __func__, dev->irq, ret); irq_err = REQ_IRQ_ERR_MAC; goto irq_error; @@ -3547,7 +3547,7 @@ static int stmmac_request_irq_multi_msi(struct net_device *dev) 0, int_name, dev); if (unlikely(ret < 0)) { netdev_err(priv->dev, - "%s: alloc wol MSI %d (error: %d)\n", + "%s: alloc wol irq %d (error: %d)\n", __func__, priv->wol_irq, ret); irq_err = REQ_IRQ_ERR_WOL; goto irq_error; @@ -3565,7 +3565,7 @@ static int stmmac_request_irq_multi_msi(struct net_device *dev) 0, int_name, dev); if (unlikely(ret < 0)) { netdev_err(priv->dev, - "%s: alloc lpi MSI %d (error: %d)\n", + "%s: alloc lpi irq %d (error: %d)\n", __func__, priv->lpi_irq, ret); irq_err = REQ_IRQ_ERR_LPI; goto irq_error; @@ -3583,7 +3583,7 @@ static int stmmac_request_irq_multi_msi(struct net_device *dev) 0, int_name, dev); if (unlikely(ret < 0)) { netdev_err(priv->dev, - "%s: alloc sfty ce MSI %d (error: %d)\n", + "%s: alloc sfty ce irq %d (error: %d)\n", __func__, priv->sfty_ce_irq, ret); irq_err = REQ_IRQ_ERR_SFTY_CE; goto irq_error; @@ -3601,14 +3601,14 @@ static int stmmac_request_irq_multi_msi(struct net_device *dev) 0, int_name, dev); if (unlikely(ret < 0)) { netdev_err(priv->dev, - "%s: alloc sfty ue MSI %d (error: %d)\n", + "%s: alloc sfty ue irq %d (error: %d)\n", __func__, priv->sfty_ue_irq, ret); irq_err = REQ_IRQ_ERR_SFTY_UE; goto irq_error; } } - /* Request Rx MSI irq */ + /* Request Rx queue irq */ for (i = 0; i < priv->plat->rx_queues_to_use; i++) { if (i >= MTL_MAX_RX_QUEUES) break; @@ -3618,11 +3618,11 @@ static int stmmac_request_irq_multi_msi(struct net_device *dev) int_name = priv->int_name_rx_irq[i]; sprintf(int_name, "%s:%s-%d", dev->name, "rx", i); ret = request_irq(priv->rx_irq[i], - stmmac_msi_intr_rx, + stmmac_queue_intr_rx, 0, int_name, &priv->dma_conf.rx_queue[i]); if (unlikely(ret < 0)) { netdev_err(priv->dev, - "%s: alloc rx-%d MSI %d (error: %d)\n", + "%s: alloc rx-%d irq %d (error: %d)\n", __func__, i, priv->rx_irq[i], ret); irq_err = REQ_IRQ_ERR_RX; irq_idx = i; @@ -3633,7 +3633,7 @@ static int stmmac_request_irq_multi_msi(struct net_device *dev) irq_set_affinity_hint(priv->rx_irq[i], &cpu_mask); } - /* Request Tx MSI irq */ + /* Request Tx queue irq */ for (i = 0; i < priv->plat->tx_queues_to_use; i++) { if (i >= MTL_MAX_TX_QUEUES) break; @@ -3643,11 +3643,11 @@ static int stmmac_request_irq_multi_msi(struct net_device *dev) int_name = priv->int_name_tx_irq[i]; sprintf(int_name, "%s:%s-%d", dev->name, "tx", i); ret = request_irq(priv->tx_irq[i], - stmmac_msi_intr_tx, + stmmac_queue_intr_tx, 0, int_name, &priv->dma_conf.tx_queue[i]); if (unlikely(ret < 0)) { netdev_err(priv->dev, - "%s: alloc tx-%d MSI %d (error: %d)\n", + "%s: alloc tx-%d irq %d (error: %d)\n", __func__, i, priv->tx_irq[i], ret); irq_err = REQ_IRQ_ERR_TX; irq_idx = i; @@ -3722,8 +3722,8 @@ static int stmmac_request_irq(struct net_device *dev) int ret; /* Request the IRQ lines */ - if (priv->plat->flags & STMMAC_FLAG_MULTI_MSI_EN) - ret = stmmac_request_irq_multi_msi(dev); + if (priv->plat->flags & STMMAC_FLAG_PERCH_IRQ_EN) + ret = stmmac_request_irq_multi(dev); else ret = stmmac_request_irq_single(dev); @@ -5938,7 +5938,7 @@ static irqreturn_t stmmac_safety_interrupt(int irq, void *dev_id) return IRQ_HANDLED; } -static irqreturn_t stmmac_msi_intr_tx(int irq, void *data) +static irqreturn_t stmmac_queue_intr_tx(int irq, void *data) { struct stmmac_tx_queue *tx_q = (struct stmmac_tx_queue *)data; struct stmmac_dma_conf *dma_conf; @@ -5970,7 +5970,7 @@ static irqreturn_t stmmac_msi_intr_tx(int irq, void *data) return IRQ_HANDLED; } -static irqreturn_t stmmac_msi_intr_rx(int irq, void *data) +static irqreturn_t stmmac_queue_intr_rx(int irq, void *data) { struct stmmac_rx_queue *rx_q = (struct stmmac_rx_queue *)data; struct stmmac_dma_conf *dma_conf; @@ -6007,12 +6007,12 @@ static void stmmac_poll_controller(struct net_device *dev) if (test_bit(STMMAC_DOWN, &priv->state)) return; - if (priv->plat->flags & STMMAC_FLAG_MULTI_MSI_EN) { + if (priv->plat->flags & STMMAC_FLAG_PERCH_IRQ_EN) { for (i = 0; i < priv->plat->rx_queues_to_use; i++) - stmmac_msi_intr_rx(0, &priv->dma_conf.rx_queue[i]); + stmmac_queue_intr_rx(0, &priv->dma_conf.rx_queue[i]); for (i = 0; i < priv->plat->tx_queues_to_use; i++) - stmmac_msi_intr_tx(0, &priv->dma_conf.tx_queue[i]); + stmmac_queue_intr_tx(0, &priv->dma_conf.tx_queue[i]); } else { disable_irq(dev->irq); stmmac_interrupt(dev->irq, dev); @@ -7278,8 +7278,8 @@ int stmmac_dvr_probe(struct device *device, priv->plat = plat_dat; priv->ioaddr = res->addr; priv->dev->base_addr = (unsigned long)res->addr; - priv->plat->dma_cfg->multi_msi_en = - (priv->plat->flags & STMMAC_FLAG_MULTI_MSI_EN); + priv->plat->dma_cfg->perch_irq_en = + (priv->plat->flags & STMMAC_FLAG_PERCH_IRQ_EN); priv->dev->irq = res->irq; priv->wol_irq = res->wol_irq; diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h index 11671fd6adee..76249117c0ff 100644 --- a/include/linux/stmmac.h +++ b/include/linux/stmmac.h @@ -96,7 +96,7 @@ struct stmmac_dma_cfg { int mixed_burst; bool aal; bool eame; - bool multi_msi_en; + bool perch_irq_en; bool dche; }; @@ -211,7 +211,7 @@ struct dwmac4_addrs { #define STMMAC_FLAG_TSO_EN BIT(4) #define STMMAC_FLAG_SERDES_UP_AFTER_PHY_LINKUP BIT(5) #define STMMAC_FLAG_VLAN_FAIL_Q_EN BIT(6) -#define STMMAC_FLAG_MULTI_MSI_EN BIT(7) +#define STMMAC_FLAG_PERCH_IRQ_EN BIT(7) #define STMMAC_FLAG_EXT_SNAPSHOT_EN BIT(8) #define STMMAC_FLAG_INT_SNAPSHOT_EN BIT(9) #define STMMAC_FLAG_RX_CLK_RUNS_IN_LPI BIT(10) From patchwork Wed Aug 9 16:50:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jisheng Zhang X-Patchwork-Id: 133374 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp2960334vqr; Wed, 9 Aug 2023 10:27:48 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFDxBgqXFQGgNi7ycc6naCA2VR5IjcSu2k2FvVZfj1eZyLxr1VVgMNWPprswlltDcIDtuF6 X-Received: by 2002:a05:6a20:13c2:b0:140:3aa:e2c3 with SMTP id ho2-20020a056a2013c200b0014003aae2c3mr2572213pzc.37.1691602067801; Wed, 09 Aug 2023 10:27:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691602067; cv=none; d=google.com; s=arc-20160816; b=NGa9l9cWsSJXfKScP3IHBb70OkOVNf2yC+mvC1ftgDW2wFKglhvzPw1xvB1iKltSkZ wG4TC7hRatd8P9AL2jRIoV5hr+4ZcSruR4ZKjGyk73QORnAmIUFlGW4asbzI8WaKgSbQ 13Gute4EZt9/7kxtW/vubvr/Jc1Y8JQabvQwh5Y6gx3EPV2AsNasoD89Skh4gAu2TRzv zLPU4dy3b8SitfKkKsUWOkrnLGL630tMVJEca0GcZjBjm1SXiQ6XNjeAFuy0+mYlTDTI E6/CxVNMutnZmd8TKwY18WUe51/LXDyQw4dtoC8h5A/kCosY1DDNerFSz3mANaL1pKxV JtkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=utTEWF5AwPPZdReYUsE9NG9r20uDcNAZQ6ej4+bLC5o=; fh=UEVvRAFK6gmZxZNnJDUC7AmNk/iU78fiWA23OmiDi44=; b=X4O2oz0MTiDm5jGEZEiRZolyMZe0ly/zB/PbEnG9RNgu3ifmFcsNfMDgM6ttxme6uJ M8d1DkoNF70dlph5/bj6R8t/t2PH+B8Ky9hVWBK9Z0iNq2Fkinqkq3thukxhfYUswYuH f3WDlG4aDGSKqGde/ZEcHAKa4pU4xKodSeblxQv6M/EvBtSI+E/eNOJNV6iw2LidEJrg pSF6TMWf6US9Alru7a2DuWYN3eEED6OSJEwbSAA6HGI/R/4pRSL6N+/jbEp2uTEGRAZ4 cHC0IBk3qJ+3NeflFzs6mZQcXnDibdLeGHA1KngDnPrKn1C2xQwtkbD2lVAzlGRSV+Hb LH8w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=LUSMVXRR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g21-20020a056a0023d500b006826c8d5a31si9948110pfc.21.2023.08.09.10.27.34; Wed, 09 Aug 2023 10:27:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=LUSMVXRR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232778AbjHIRCZ (ORCPT + 99 others); Wed, 9 Aug 2023 13:02:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51950 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232733AbjHIRCI (ORCPT ); Wed, 9 Aug 2023 13:02:08 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E051CDF; Wed, 9 Aug 2023 10:02:07 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 6286C641BB; Wed, 9 Aug 2023 17:02:07 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 37D95C43395; Wed, 9 Aug 2023 17:02:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1691600526; bh=ucsnwmWqR4ajtwvJh+GfJymKYMLxktOm7tZoJmtvJZc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LUSMVXRRg2tQ3f42c6Dng7Hbnj0dxTrNxeuqwtKoqLiiWrNEKVjs60WZnXAGsaCrj o0vz7iTNu6P/jfcgylqQDOX5qDxj/HnsNAXtd92WufwOcCIIdBrmS0sVQ1JbOnHuNg Csqx2bbaMMyg2a3Q6lqsRb03HMlnjfD0zZIU/Zxgu0jjYcdnOAssbXH91X1dwDjpJO YgS6t5qN4It8GYVV/zJHdFMj6o5N9Ye7mrxFRsPj+eLo/y3yRN1Q4gKM9O2HQUdJk7 dLzmfZnobGEZY2F63isE6oDU6pZ6CS66pgU1nlX69LkYdDHfPD6UipvkVMzCGiMP9D SIRupHLJahZaQ== From: Jisheng Zhang To: "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Giuseppe Cavallaro , Alexandre Torgue , Jose Abreu Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org Subject: [PATCH net-next v3 06/10] net: stmmac: xgmac: support per-channel irq Date: Thu, 10 Aug 2023 00:50:03 +0800 Message-Id: <20230809165007.1439-7-jszhang@kernel.org> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230809165007.1439-1-jszhang@kernel.org> References: <20230809165007.1439-1-jszhang@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773773329846737475 X-GMAIL-MSGID: 1773773329846737475 The IP supports per channel interrupt, add support for this usage case. Signed-off-by: Jisheng Zhang --- .../net/ethernet/stmicro/stmmac/dwxgmac2.h | 2 ++ .../ethernet/stmicro/stmmac/dwxgmac2_dma.c | 33 +++++++++++-------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h index 81cbb13a101d..12e1228ccf2a 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h +++ b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2.h @@ -327,6 +327,8 @@ /* DMA Registers */ #define XGMAC_DMA_MODE 0x00003000 +#define XGMAC_INTM GENMASK(13, 12) +#define XGMAC_INTM_MODE1 0x1 #define XGMAC_SWR BIT(0) #define XGMAC_DMA_SYSBUS_MODE 0x00003004 #define XGMAC_WR_OSR_LMT GENMASK(29, 24) diff --git a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c index b5ba4e0cca55..ef25af92d6cc 100644 --- a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_dma.c @@ -31,6 +31,13 @@ static void dwxgmac2_dma_init(void __iomem *ioaddr, value |= XGMAC_EAME; writel(value, ioaddr + XGMAC_DMA_SYSBUS_MODE); + + if (dma_cfg->perch_irq_en) { + value = readl(ioaddr + XGMAC_DMA_MODE); + value &= ~XGMAC_INTM; + value |= FIELD_PREP(XGMAC_INTM, XGMAC_INTM_MODE1); + writel(value, ioaddr + XGMAC_DMA_MODE); + } } static void dwxgmac2_dma_init_chan(struct stmmac_priv *priv, @@ -365,20 +372,20 @@ static int dwxgmac2_dma_interrupt(struct stmmac_priv *priv, } /* TX/RX NORMAL interrupts */ - if (likely(intr_status & XGMAC_NIS)) { - if (likely(intr_status & XGMAC_RI)) { - u64_stats_update_begin(&rx_q->rxq_stats.syncp); - rx_q->rxq_stats.rx_normal_irq_n++; - u64_stats_update_end(&rx_q->rxq_stats.syncp); - ret |= handle_rx; - } - if (likely(intr_status & (XGMAC_TI | XGMAC_TBU))) { - u64_stats_update_begin(&tx_q->txq_stats.syncp); - tx_q->txq_stats.tx_normal_irq_n++; - u64_stats_update_end(&tx_q->txq_stats.syncp); - ret |= handle_tx; - } + if (likely(intr_status & XGMAC_RI)) { + u64_stats_update_begin(&rx_q->rxq_stats.syncp); + rx_q->rxq_stats.rx_normal_irq_n++; + u64_stats_update_end(&rx_q->rxq_stats.syncp); + ret |= handle_rx; + } + if (likely(intr_status & XGMAC_TI)) { + u64_stats_update_begin(&tx_q->txq_stats.syncp); + tx_q->txq_stats.tx_normal_irq_n++; + u64_stats_update_end(&tx_q->txq_stats.syncp); + ret |= handle_tx; } + if (unlikely(intr_status & XGMAC_TBU)) + ret |= handle_tx; /* Clear interrupts */ writel(intr_en & intr_status, ioaddr + XGMAC_DMA_CH_STATUS(chan)); From patchwork Wed Aug 9 16:50:04 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jisheng Zhang X-Patchwork-Id: 133414 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp2993700vqr; Wed, 9 Aug 2023 11:27:24 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGZLLYNXD9M4VJQhdWvMhKoclnWbUMBxUfEg3A/bVMJrRKIJOD5DjaahCrA78kC+dsuVW6N X-Received: by 2002:a2e:2c12:0:b0:2b9:e15f:e780 with SMTP id s18-20020a2e2c12000000b002b9e15fe780mr870ljs.26.1691605644401; Wed, 09 Aug 2023 11:27:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691605644; cv=none; d=google.com; s=arc-20160816; b=ajcyyKxrfWYuyC0ZAmRERI0u875BAqGOleei57vEapEDu4fQteqFeSmdkwwurjQilY zQhPoyantopDVRc5ZKyB93KblXPp2mmEkVhkZfnISukKCMkBpIzRZHYAYSJXUWISvmCA Nau5obgL7II0Gx/xBkaWnc1XAun2iMcakk94OrUGGKTo5pbXbbAkKajoiec1sDoaFSAG dM6WviJX0+MWJxiIpReAPKJoFKAvqz7aro/9IMCfmh0h281vhvHirq0Ou4bd8WcS6wuN mjHxY1VrRpQRhUAy3gFVuaa3WFb6L1O3km6zOwbN+3Oj+lrRTOOJIfWvfu7WEU9hYGbS VVmw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=gdS17M0v9eehqKoNk2gtbDm377o/x71bYrEewgeel14=; fh=UEVvRAFK6gmZxZNnJDUC7AmNk/iU78fiWA23OmiDi44=; b=bigS6Zd2yQ7hH1aieAir/lCL/FrgoH2iDwUuokKq4ZLb3z0GYmmwurPbOXR47Gbxbj TM/ugsbP+P+t7gd4Eg2MEg2x/BKv5001WepBk4+uAm6y5zn4dnZYODwBgoA0oRzSb+IQ f0Nq/K3gkmBXt9vXy/98kL2KfcwpDmx1JVGrgWmhdOupFKvlYTq8+DSbQE6rHscKqD36 5jEFy5w9qdsh2C9wWSaAdVwS8mwat7QTXhN/MdoRiJTPVRzoO1Sdb7fEMrOEoUAe6G7i LVQwrt5TchJA+A8Bp6jIDO6pPtdDq93Nar23XU3NILb9N29jOtOG8i5xygokAD1xicK8 ayOg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Xl4PJ9Zw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id m19-20020a170906161300b0098d373fa9e4si9854675ejd.1007.2023.08.09.11.27.00; Wed, 09 Aug 2023 11:27:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=Xl4PJ9Zw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232342AbjHIRC3 (ORCPT + 99 others); Wed, 9 Aug 2023 13:02:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41008 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232326AbjHIRCL (ORCPT ); Wed, 9 Aug 2023 13:02:11 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C1FEB1FEE; Wed, 9 Aug 2023 10:02:10 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 61AC0641DA; Wed, 9 Aug 2023 17:02:10 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 24935C433CA; Wed, 9 Aug 2023 17:02:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1691600529; bh=DbCsnFuIRCDw4RClbgLWL7mrfxpciKVOySkovPw9qFo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Xl4PJ9ZwiSDgL82Q6u5+9jGBcBpVFwZX1fzaQqnb2Voy0lE9UgqIs4Habkmk+a6tG CKWlECVyKR9MozeH7HHnHAI2O32KO0AEEGrXGoUIfE9h+ME/MSac6G/gz7eyjdevam Q5v2iDKA6/x9O28fgQTh/90SGLo2xwRz46LoPb8/L2nKFU/TCvXaEqtCltiq+ovOs2 +U/gPUMk1AZXQ/KoN4+prZY62WnpFfUTvG2Ggn0h3yLsybzQIFKaEdMQ6aYmZQ/mxt O5X52I4i9nBQ1l2pUlyLq46UOKsWYdfJyY81vNVjIrVz0AjIA1ObkyHaNeop7toe/k 9IJ8c9MEBGbgg== From: Jisheng Zhang To: "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Giuseppe Cavallaro , Alexandre Torgue , Jose Abreu Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org Subject: [PATCH net-next v3 07/10] dt-bindings: net: snps,dwmac: add safety irq support Date: Thu, 10 Aug 2023 00:50:04 +0800 Message-Id: <20230809165007.1439-8-jszhang@kernel.org> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230809165007.1439-1-jszhang@kernel.org> References: <20230809165007.1439-1-jszhang@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773777080601439188 X-GMAIL-MSGID: 1773777080601439188 The snps dwmac IP support safety features, and those Safety Feature Correctible Error and Uncorrectible Error irqs may be separate irqs. Signed-off-by: Jisheng Zhang --- Documentation/devicetree/bindings/net/snps,dwmac.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml index ddf9522a5dc2..5d81042f5634 100644 --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml @@ -107,6 +107,8 @@ properties: - description: Combined signal for various interrupt events - description: The interrupt to manage the remote wake-up packet detection - description: The interrupt that occurs when Rx exits the LPI state + - description: The interrupt that occurs when Safety Feature Correctible Errors happen + - description: The interrupt that occurs when Safety Feature Uncorrectible Errors happen interrupt-names: minItems: 1 @@ -114,6 +116,8 @@ properties: - const: macirq - enum: [eth_wake_irq, eth_lpi] - const: eth_lpi + - const: sfty_ce + - const: sfty_ue clocks: minItems: 1 From patchwork Wed Aug 9 16:50:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jisheng Zhang X-Patchwork-Id: 133377 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp2961248vqr; Wed, 9 Aug 2023 10:29:26 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGqFS09k9i4kh0N8mdaWzzXOGEoCFAQ9pX8leJeFUtIzzSPsNxf5cfrUvUKEpnjO1mnlaFu X-Received: by 2002:a05:6870:420b:b0:1be:fe7c:d0a6 with SMTP id u11-20020a056870420b00b001befe7cd0a6mr4033565oac.2.1691602166568; Wed, 09 Aug 2023 10:29:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691602166; cv=none; d=google.com; s=arc-20160816; b=leL2teMasFmZfZGRstB2LceLQ6A3fsYT/W2cdkwCC2lQdfAi66aELlGa5QFhUYV/yI QzWAoXvlRLG1tUExGiZgnHlU/szlXOP/K+8lhFX0uQTw5MtNGL0iRdmFTgXiUTAe9Z0r Rq3fY9kiWjqp9DWtJN4ZbVW0bQrTUUf7mYCnZ1MExTPLwgK/x3QqmGiQReDtNkCweK3Z h5Vqjf22+OF7/ozCChFhnSDcMyoP+AAGFfPpMKimVLe87FB0kmfyvx4PS9R5Te7tJdmC 5VMsuf+kefoYKshF1Ggue9g2kvLHEl1INrFVeFKb6tlNpSSnxZJnQDct4XZcIzHUMHeK SdeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=OuJDdIS5m5t68jUpTnWAKzdgaeJCnpqKrEaxgdO3hso=; fh=UEVvRAFK6gmZxZNnJDUC7AmNk/iU78fiWA23OmiDi44=; b=o/dYTqy2Vr/xDpMBnu6nygY1zjlIf50pysYL6PjvS0fGAU+KcPrnPFzrpskn3o+PSl 5eqhlxMysLHGhjrT04rPxclbLrEhLW4WswdaXmxMb+wqTEBkzlHeBAKYJU5FAE1kco5t DCnQZ+POkgxdK7b6DJw8GBQw7+Z/sfO9hi4d6R/mRwgY8tk2FUx77FXb2tPyogDLRIib T5qQ/It+VEuPGks21STytrk6dwU6AIhmr0fVPQoVc1crCv/KDuBZ6bnfIFjseZ9Axng/ XU+G3FCT3YjRVtvO5xfUCz85ZMpQSk9tqQJDZgATBeGra01ujWtXjSNwSVm/m5YnzzKP qvoA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=L4FQ928x; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q27-20020a635c1b000000b00563e0e86f17si9386763pgb.573.2023.08.09.10.29.04; Wed, 09 Aug 2023 10:29:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=L4FQ928x; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232566AbjHIRCd (ORCPT + 99 others); Wed, 9 Aug 2023 13:02:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41088 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232505AbjHIRCP (ORCPT ); Wed, 9 Aug 2023 13:02:15 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1BE842136; Wed, 9 Aug 2023 10:02:14 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id A281F641D7; Wed, 9 Aug 2023 17:02:13 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2E6C6C433CC; Wed, 9 Aug 2023 17:02:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1691600533; bh=2GxVXefyNbdQErExbmg0/pws/HcbyG4JyeKhzXvRnBE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=L4FQ928xApvJhFE7Tj8KKEoOwWeAcsCs7IVHfjo54UzZhuYT+1/itilrbXbRAkTot aygKFrqatHRVmboBFOzHoObEJlmsElo6lDTz74RBj6An9R/fnCu2HlOwl2+RB6C1Tf +FLLxeQp+C5lGV8MtsdKsRV5EoxRSLGnzH8SGey+kA1k2KlB2z5OZRmvJg1260d3hR KJAWgfmAq2wIgT0c47FDz0u20m2QnpPLoqsa9KeRBLAyemWGdPr+b+RSi3plJ6z+Ke j1BtCa/bbeGCxRgRp0pyJZunGA1HUrosCZQPLTZJzOg/Hid0gOD1reZKA8wQ3ZDcNS 0Y4oJ9Gsm6AXQ== From: Jisheng Zhang To: "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Giuseppe Cavallaro , Alexandre Torgue , Jose Abreu Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org Subject: [PATCH net-next v3 08/10] net: stmmac: platform: support parsing safety irqs from DT Date: Thu, 10 Aug 2023 00:50:05 +0800 Message-Id: <20230809165007.1439-9-jszhang@kernel.org> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230809165007.1439-1-jszhang@kernel.org> References: <20230809165007.1439-1-jszhang@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773773433108400525 X-GMAIL-MSGID: 1773773433108400525 The snps dwmac IP may support safety features, and those Safety Feature Correctible Error and Uncorrectible Error irqs may be separate irqs. Add support to parse the safety irqs from DT. Signed-off-by: Jisheng Zhang Acked-by: Alexandre TORGUE --- .../net/ethernet/stmicro/stmmac/stmmac_platform.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c index 23d53ea04b24..29145682b57b 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c @@ -738,6 +738,18 @@ int stmmac_get_platform_resources(struct platform_device *pdev, dev_info(&pdev->dev, "IRQ eth_lpi not found\n"); } + stmmac_res->sfty_ce_irq = platform_get_irq_byname_optional(pdev, "sfty_ce"); + if (stmmac_res->sfty_ce_irq < 0) { + if (stmmac_res->sfty_ce_irq == -EPROBE_DEFER) + return -EPROBE_DEFER; + } + + stmmac_res->sfty_ue_irq = platform_get_irq_byname_optional(pdev, "sfty_ue"); + if (stmmac_res->sfty_ue_irq < 0) { + if (stmmac_res->sfty_ue_irq == -EPROBE_DEFER) + return -EPROBE_DEFER; + } + stmmac_res->addr = devm_platform_ioremap_resource(pdev, 0); return PTR_ERR_OR_ZERO(stmmac_res->addr); From patchwork Wed Aug 9 16:50:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jisheng Zhang X-Patchwork-Id: 133401 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp2987501vqr; Wed, 9 Aug 2023 11:15:17 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHR/zPPJwjRzH1Gkr1YLm76jyNl88VImZf6JSKf3BR2wa2T6/g+T8Pr6vbNTxUbnS4TYZj4 X-Received: by 2002:a05:6402:559:b0:522:79e8:e51b with SMTP id i25-20020a056402055900b0052279e8e51bmr2477240edx.32.1691604917020; Wed, 09 Aug 2023 11:15:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691604917; cv=none; d=google.com; s=arc-20160816; b=WfDphEf4ZNMdTda8EGmJ4csBw3jo/IZTd969RjuZf0/UEotvqUGzpSylPz8tXGqnja 0E0UrZPLHbtl2XsTBqOrjEy5IszVBBhCM1eBV464qtSvUkwFMDQhwa+UIVsMpNqEXVVt gtwYxl32isCbXhlRoc+RSR+pC+bHo7ip9F6hojOrI8PyTJJhJAVQlow3nIC/hkL9imAz k2vFz5A4rBuedxCRHZePs52DEWiZKJ9UUzU+yD+eAlJLkwNXF10duGFJDeOxmkqROyNW tnQzgh3jpHC3bOWOL7KvzfmEH+OwG1OpMIlwT17GG+2G+FY0H4aUE37GUfa73xFvqOVa pxyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=lx3YPFMG6cD5nC15S2MqB+hAxpLVld9+BhVprFyhf2M=; fh=UEVvRAFK6gmZxZNnJDUC7AmNk/iU78fiWA23OmiDi44=; b=tAuwwAQZEOROflZHXWQ65uBc1tehZSWu6YMaqbVV8qKvuCEyyqbRqZup7AUv3C49PM 6EjLg1GxkEyShVp9budURd3HgBn3DR8LDJNj7ihBRm+CwSB2redmgBOTS9zDDuB3149Z 8OhCzZdhM5bl/B94x2xUQHS7xwmM5fsDXKMGQzpiYO4DRkKj1jE11hztqLzFQv0KAcN/ 1+DjebI0mY0riMViFGRTChXVDu5wy9Xdgy32tV6zI44mfdgwHVt3kZ7aC/aPUJucB/P7 nbLLpMNLd76DrA5GckcH2TR1zxD53t6GGdRxIYyCL0EKm6A6wpdMl6TDDI5Qm3+QQZ0v +1lg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=niUMi23c; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id c24-20020aa7d618000000b005234b034770si2622399edr.534.2023.08.09.11.14.52; Wed, 09 Aug 2023 11:15:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=niUMi23c; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232788AbjHIRCj (ORCPT + 99 others); Wed, 9 Aug 2023 13:02:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41066 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232773AbjHIRCZ (ORCPT ); Wed, 9 Aug 2023 13:02:25 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1523B268E; Wed, 9 Aug 2023 10:02:17 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id A9FC1641D9; Wed, 9 Aug 2023 17:02:16 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 656F6C433C8; Wed, 9 Aug 2023 17:02:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1691600536; bh=+gV2OwgbEESWlTBw1vccjy1Lziej65rySDz1k5zLKn4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=niUMi23cuW63S1k46u9PkZlkcaUSZok42j5k2gcuTvEtlUpzFZt2xQz+it9W81a2e 5J1x8dqycYRIOpb/XWG1KMiG45wbJqJGNVUIMEng6vKmrNoDV9EuxkdTy25t+CvSdk hzaAJT9UH7CpGMUZd696Suf2pySmDe9uNYjkdO8IqVopyMiXMNWJIH7M1yH7j3ZRtw vdoQ2TCpoGAaddKyP9fcWxQ/5oxCEqFz7GI4+Jk1tltCNwTLodTaPleSec9DNZYx2m egZCVPR2nEyN6kKnphiKNIzaG7rn4Ko26Ac0U0U6n/T5REhgGkn9khLyg+ziPFw6hB j7PJ+1A6XR16g== From: Jisheng Zhang To: "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Giuseppe Cavallaro , Alexandre Torgue , Jose Abreu Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org Subject: [PATCH net-next v3 09/10] dt-bindings: net: snps,dwmac: add per channel irq support Date: Thu, 10 Aug 2023 00:50:06 +0800 Message-Id: <20230809165007.1439-10-jszhang@kernel.org> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230809165007.1439-1-jszhang@kernel.org> References: <20230809165007.1439-1-jszhang@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773776317514475834 X-GMAIL-MSGID: 1773776317514475834 The IP supports per channel interrupt, add support for this usage case. Signed-off-by: Jisheng Zhang --- .../devicetree/bindings/net/snps,dwmac.yaml | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/Documentation/devicetree/bindings/net/snps,dwmac.yaml b/Documentation/devicetree/bindings/net/snps,dwmac.yaml index 5d81042f5634..5a63302ad200 100644 --- a/Documentation/devicetree/bindings/net/snps,dwmac.yaml +++ b/Documentation/devicetree/bindings/net/snps,dwmac.yaml @@ -109,6 +109,7 @@ properties: - description: The interrupt that occurs when Rx exits the LPI state - description: The interrupt that occurs when Safety Feature Correctible Errors happen - description: The interrupt that occurs when Safety Feature Uncorrectible Errors happen + - description: All of the rx/tx per-channel interrupts interrupt-names: minItems: 1 @@ -118,6 +119,38 @@ properties: - const: eth_lpi - const: sfty_ce - const: sfty_ue + - const: rx0 + - const: rx1 + - const: rx2 + - const: rx3 + - const: rx4 + - const: rx5 + - const: rx6 + - const: rx7 + - const: rx8 + - const: rx9 + - const: rx10 + - const: rx11 + - const: rx12 + - const: rx13 + - const: rx14 + - const: rx15 + - const: tx0 + - const: tx1 + - const: tx2 + - const: tx3 + - const: tx4 + - const: tx5 + - const: tx6 + - const: tx7 + - const: tx8 + - const: tx9 + - const: tx10 + - const: tx11 + - const: tx12 + - const: tx13 + - const: tx14 + - const: tx15 clocks: minItems: 1 From patchwork Wed Aug 9 16:50:07 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jisheng Zhang X-Patchwork-Id: 133375 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c44e:0:b0:3f2:4152:657d with SMTP id w14csp2960662vqr; Wed, 9 Aug 2023 10:28:27 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG9Y8gi5Hd9PR8iIVsYiq7bIZ9o88g4etZJlh0v0j+faVW9Va3MbMita6RlBqVAhNtzDvBG X-Received: by 2002:a17:902:e741:b0:1b7:e49f:1d with SMTP id p1-20020a170902e74100b001b7e49f001dmr3950323plf.62.1691602107328; Wed, 09 Aug 2023 10:28:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691602107; cv=none; d=google.com; s=arc-20160816; b=QLQ1njzPGPI7Gx+Gh5AHgr3qpBfka0lSkgSfZeYMaUmiZODQEf4Rc0O8F9bw00rE4L cdujW5U9uFH8wppyreOv66LGS2jJQRIcQ9JWWm7R1gN9osIfntM9I64GAbP9i6l0hpZ9 Pj5zF2QEJGEN2y2cTvpTiYJIGQGlzDCvCacTmh6GwJmT6Kzh+R6sDRMBsF01HhINKnwH 7i6/y6CjvAERF37rGDIYao5biN7WH+knpZHi0YYuwf6TBuhHQeXq9m6JjjNA+jPokzKp 25BblzXvAzEC/RPBztegaYvGu083K39RtmQ8XI6cP5sQsBsCtdLda1pbxWatvkZb9b2j eIPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=za89CA3NT2s3h4TX6Zjtigxaq5mkstRFrGh9pNRJhsw=; fh=UEVvRAFK6gmZxZNnJDUC7AmNk/iU78fiWA23OmiDi44=; b=uWzgjVsX3SeCgLplYf1I2nY8uVqQg9e4Tyu7IlPj8By+f1IDWNMjL627z3KByfifQZ kAHpiddWDFFjFL71cLapZbEjAkMuRu/qEGPBIlJZbOLchTUyAV40AOZLQGnjYBfW9BwU 8PtUFzGeRvLPKlXhPTtTx7FOjmqP8TvLX6EZcuEreAKMbzYVR+4bVOWjpPDR8O0YwB2l oL6jTYaHRwWJjGwpw1BqkEKhgzurGWrrbAeRyTm02ypFnFHQRPBZ0/MqlHevnuuOUIFI Ndd8EedllH+3sWAl3mXyIBiqjPYwtD79cfkUDSTNyLYZzIQ29qguKinxJm9AisVKu+4p tClg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=WMhObEz5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f16-20020a170902ce9000b001b8a4954be1si7443820plg.595.2023.08.09.10.28.14; Wed, 09 Aug 2023 10:28:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=WMhObEz5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232464AbjHIRCn (ORCPT + 99 others); Wed, 9 Aug 2023 13:02:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47818 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232609AbjHIRCf (ORCPT ); Wed, 9 Aug 2023 13:02:35 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 241DD26AA; Wed, 9 Aug 2023 10:02:20 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id ADF55641F5; Wed, 9 Aug 2023 17:02:19 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 79766C433C9; Wed, 9 Aug 2023 17:02:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1691600539; bh=V902vE1qSD2W3x2PVyeCERNpVhnCPf/lW+x8V8GU3+c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WMhObEz5TS7bF/kYtzmy4aPzQwZnwrQiIUPdi+fZLiNzwNXpknALfGhoph6tHbTiG BZMzORKMJsl/ZkjiBKT1hrT9wLy0SxIuNk8kyuQZHCaYuBQaM+QPIwX9RrrcKs1MT4 3ZbDQqBlAV9u9UxQD/3W/uRN/mvfPIBKWPZ2etvp5VozRvGepNB4tCXX5aA71VNXDv 6hd7C2M/s9dOrNPRciF6y+GRo6sTTkCulpdXObeNmR8ZN9p+eC28ayEkVpnOTJajS8 COXV4YcfTMFVTsZr9bXWXU1cVs9ydrLcLPrgJCT9TmuYXD7FviPsaNwwNjnQIi2iQy GHGT5DXoFKqsg== From: Jisheng Zhang To: "David S . Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Giuseppe Cavallaro , Alexandre Torgue , Jose Abreu Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org Subject: [PATCH net-next v3 10/10] net: stmmac: platform: support parsing per channel irq from DT Date: Thu, 10 Aug 2023 00:50:07 +0800 Message-Id: <20230809165007.1439-11-jszhang@kernel.org> X-Mailer: git-send-email 2.40.0 In-Reply-To: <20230809165007.1439-1-jszhang@kernel.org> References: <20230809165007.1439-1-jszhang@kernel.org> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773773371143163095 X-GMAIL-MSGID: 1773773371143163095 The snps dwmac IP may support per channel interrupt. Add support to parse the per channel irq from DT. Signed-off-by: Jisheng Zhang --- .../net/ethernet/stmicro/stmmac/stmmac_main.c | 10 ++++---- .../ethernet/stmicro/stmmac/stmmac_platform.c | 23 +++++++++++++++++++ 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index 4ed5c976c7a3..245eeb7d3e83 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -3612,7 +3612,7 @@ static int stmmac_request_irq_multi(struct net_device *dev) for (i = 0; i < priv->plat->rx_queues_to_use; i++) { if (i >= MTL_MAX_RX_QUEUES) break; - if (priv->rx_irq[i] == 0) + if (priv->rx_irq[i] <= 0) continue; int_name = priv->int_name_rx_irq[i]; @@ -3637,7 +3637,7 @@ static int stmmac_request_irq_multi(struct net_device *dev) for (i = 0; i < priv->plat->tx_queues_to_use; i++) { if (i >= MTL_MAX_TX_QUEUES) break; - if (priv->tx_irq[i] == 0) + if (priv->tx_irq[i] <= 0) continue; int_name = priv->int_name_tx_irq[i]; @@ -7278,8 +7278,10 @@ int stmmac_dvr_probe(struct device *device, priv->plat = plat_dat; priv->ioaddr = res->addr; priv->dev->base_addr = (unsigned long)res->addr; - priv->plat->dma_cfg->perch_irq_en = - (priv->plat->flags & STMMAC_FLAG_PERCH_IRQ_EN); + if (res->rx_irq[0] > 0 && res->tx_irq[0] > 0) { + priv->plat->flags |= STMMAC_FLAG_PERCH_IRQ_EN; + priv->plat->dma_cfg->perch_irq_en = true; + } priv->dev->irq = res->irq; priv->wol_irq = res->wol_irq; diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c index 29145682b57b..9b46775b41ab 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c @@ -705,6 +705,9 @@ EXPORT_SYMBOL_GPL(stmmac_remove_config_dt); int stmmac_get_platform_resources(struct platform_device *pdev, struct stmmac_resources *stmmac_res) { + char irq_name[8]; + int i; + memset(stmmac_res, 0, sizeof(*stmmac_res)); /* Get IRQ information early to have an ability to ask for deferred @@ -738,6 +741,26 @@ int stmmac_get_platform_resources(struct platform_device *pdev, dev_info(&pdev->dev, "IRQ eth_lpi not found\n"); } + for (i = 0; i < MTL_MAX_RX_QUEUES; i++) { + snprintf(irq_name, sizeof(irq_name), "rx%i", i); + stmmac_res->rx_irq[i] = platform_get_irq_byname_optional(pdev, irq_name); + if (stmmac_res->rx_irq[i] < 0) { + if (stmmac_res->rx_irq[i] == -EPROBE_DEFER) + return -EPROBE_DEFER; + break; + } + } + + for (i = 0; i < MTL_MAX_TX_QUEUES; i++) { + snprintf(irq_name, sizeof(irq_name), "tx%i", i); + stmmac_res->tx_irq[i] = platform_get_irq_byname_optional(pdev, irq_name); + if (stmmac_res->tx_irq[i] < 0) { + if (stmmac_res->tx_irq[i] == -EPROBE_DEFER) + return -EPROBE_DEFER; + break; + } + } + stmmac_res->sfty_ce_irq = platform_get_irq_byname_optional(pdev, "sfty_ce"); if (stmmac_res->sfty_ce_irq < 0) { if (stmmac_res->sfty_ce_irq == -EPROBE_DEFER)