From patchwork Tue Mar 11 05:38:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wei Fang X-Patchwork-Id: 14011177 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CCE4CC28B2E for ; Tue, 11 Mar 2025 06:12:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:Content-Type: Content-Transfer-Encoding:References:In-Reply-To:Message-Id:Date:Subject:Cc: To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=ks9GIO6GtrzYt1TbMCQbs5B1G2hnYgLQq4klaXlrlTM=; b=wV4gk8yHySzUL6hxO/22A92yLG ifKhDPuQ0wYJd3MVZeWteheqeMZyVQdGw9yDb2w6hB6QyXzT7n9NUcrWlfpzpyTGBec7TbZxoJHKV jKCO/IKu1/mABEQMY6X194Lp+DxXp7kzduitvaTxbxYEoFHgQOXD2f7x5EieHJn42kUILtfjfghfP JRsf9Epugf9otXdKCN64Be2uDqyW7lMDdfLQEqRVtY8WeXNpKIa9qlP7kBS249zsa8gwpto+GiKH2 icHq8yJGMublSsYo77huhqaFdLBzYkXbIIsXxKpsYZbp65jaoxQi2HMGVpzjGxv5wWmiwaU7S213B dUX88k4w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1trsrA-00000004j7E-0jsg; Tue, 11 Mar 2025 06:12:48 +0000 Received: from mail-norwayeastazlp170130007.outbound.protection.outlook.com ([2a01:111:f403:c20f::7] helo=OSPPR02CU001.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1trsbh-00000004ghp-1EzT for linux-arm-kernel@lists.infradead.org; Tue, 11 Mar 2025 05:56:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fVPgsBCidGJl1Q2GW4hVFP0SbQFW3QofcIMhrV+liPjplCA3ZA8oXv2ddENt/1C4HghhH5VJyjMhfNCh8GdoaF51c8CCO8CNKMqkmf/jyvIHGVM6NHO/35XFvuii3QcWc41zlUBCYcCMuNknKNecAOpZ0WwTC+0GAhKXmTEOfuCgiQRQ5KvtNL2YTryMGBR80/+mhqZFxngzwmctiU5PVyd5b4qCSl9oj/mCOMyQIcD0fC5DoD2ir99xC6qB/TvR+zxjKk4NiouRe4pVSbXvbcCj1vq9BDo0Cal8Ezb7cTrzHZY6ynTekW8t/Oc3PQvSxeuSQHeQzPnYcYNFgK8ExA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ks9GIO6GtrzYt1TbMCQbs5B1G2hnYgLQq4klaXlrlTM=; b=I+hz8QSWvkeuuXTX0T/qGDhkAiSZcpWceH+W1Pr2EU15slfz7+MUa5vFQm07q6v1ie/guMuvPkB9QFTW/pjiSdMQ6zRmglktaI2HE+5fgrOxJwSdxXjmv83uHk/Ya7EzvYL6qpuf3Ik+tvgPFMoeNNQ9BAzKVtaYKp6aFUW7tP+fUq16o816gr9JFttZllb4qbl75RnQuN4P6loEM3aEzDzwS0InN2GCpddc2NEyJ453g57PN71n09fTeKisAG6pYqHVA7xN9LbNcXiVunzD9b7FyGv6pBtFym+IPRmwu9nNygUtiiBs3/h62TlCGUlB+ntpLFHRxREHdl9nnqhLBQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ks9GIO6GtrzYt1TbMCQbs5B1G2hnYgLQq4klaXlrlTM=; b=NGbqFceWT2NkIT3w4ye8DnoLy+C/9GQdc2kG4TbQ1nIZYdiQCSuXVPeEwqwxIVsaUo4bBx4dBpe9Rf6mVGBw0FECf6AJbyMDMubWJU0CO32/HuSYiTButRU6ErrZn9LV/NpzkJehjx9Ak6fR5FSXViGZv7TNwA/hWwW2k+GKtczQTtSXPhHjYPRigLUv840WHpdIFzMFZSETEEka0GJYbGw/uOFt0vr5QMMnwOMhA0TGfGfJJzuU+ky95cRVeXiQ6Dta09bFS23Cx80iJZhtsaFKArS/V6hRgq+z7t5Gmxj03FuPAbBx9xpLRw9kQlF/ga2huLgaEWxl0qhKRnzIYQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from PAXPR04MB8510.eurprd04.prod.outlook.com (2603:10a6:102:211::7) by GVXPR04MB10945.eurprd04.prod.outlook.com (2603:10a6:150:21e::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Tue, 11 Mar 2025 05:56:44 +0000 Received: from PAXPR04MB8510.eurprd04.prod.outlook.com ([fe80::a7c2:e2fa:8e04:40db]) by PAXPR04MB8510.eurprd04.prod.outlook.com ([fe80::a7c2:e2fa:8e04:40db%5]) with mapi id 15.20.8511.026; Tue, 11 Mar 2025 05:56:44 +0000 From: Wei Fang To: claudiu.manoil@nxp.com, vladimir.oltean@nxp.com, xiaoning.wang@nxp.com, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com Cc: christophe.leroy@csgroup.eu, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linuxppc-dev@lists.ozlabs.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v4 net-next 09/14] net: enetc: enable RSS feature by default Date: Tue, 11 Mar 2025 13:38:25 +0800 Message-Id: <20250311053830.1516523-10-wei.fang@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20250311053830.1516523-1-wei.fang@nxp.com> References: <20250311053830.1516523-1-wei.fang@nxp.com> X-ClientProxiedBy: SGBP274CA0011.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b0::23) To PAXPR04MB8510.eurprd04.prod.outlook.com (2603:10a6:102:211::7) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8510:EE_|GVXPR04MB10945:EE_ X-MS-Office365-Filtering-Correlation-Id: 1595f987-311d-41d7-d056-08dd60618085 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|7416014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: UIw5LvjxJ5nEo3WafE3Gcnm4fz8hyxcgePQamarq+8RwDGC8lkMwEL5nEtcc5xa16n/qK+tihVGmg2CN2vMOdiuSjiZGSBKXQNrawiiRi6P/LQyAf6WM9HA+tqeRH4i7PTc9U5bYDSIQFEZJly0Tey96hoB/gz5tNaCA4OSayTIrx4MFo1jg6cPccqr6t+w79csH7cUbNPPvy1Jb5wpdHghyv/3mFzMMfm6NPh1PU9eBkcDOuy6W6W38cRWYy/iP9C3DiXKMAOtzGb+H5KA88P+UDHeYvDGxuRvUO+pr9ClWVK5KManAPVl6wHx+uPdyfBpcMe6cyE+htVksKH9WfOtbLztWPxb7Q6l4hVdlEJfayOS8FNgarftEvAf5htVLC/VbwmBO0gT+u84gtvPv0yVaX9qIh4i6qOenjb//DNV1nH5JrsZixHJkQZRHgXAseT1L6Ny0QApqcZ3vJoyR1AyEXbqkJ4vGGCukI/J+oqT0l6jBmKc0KSFHzZQJ2LE7arnA15cwluFdorHR+/38LngrEzFyipWKGpSpzzwSa42I+E1dcugMM+wsYMEObiXooQ99ET2Fu2HD662Z9NKK35D1SHQ4PpdlCxizjY7RPLxURqw9CQuR7IonDQeBZq7duyLJIrUBIu+wvMpazsNLxN45nV1I9ti5sFE+OudLA2yIbx9/0PM1zOIaIXRYbDCrAM2B22PWvOPgJHYt7zuu2zvb/24AIUPI+qFQqme+zT4pgE5lHaXgv9SZCyDsCbgQq/HonEdk6jtaCPEFvAG4mm0EBaKpHEolrtB1Tcgp8upVSxJy7DSeV/p7bKtkMfg5pPvbVW0sHBTnUpPSDaFQpo/TRDum3p14pDYB2dAmg95ACOC6PEt0mGmM9AbXPYEkhh2+ZQm/Pbzf2ZtF3Yg61WY3G097Vo1QvsO8vlqFrRTnM4SJQHByOGfu9vQmyDO2zDsGfNpleH2xOBBgOEx0nzR1J5OnawTKzffJSpYQeYIDUblo4AnzerzDHPTd/gD36XxEBoJMV3C2AbZK7idMhPHZfz0reO9oqcDyaefwpZvjJ4uLmykCB8IRh4Yi6BamXdfJiZ2yjU5BrpC9lF2JHHxOgpw65QiIZTfS7tIPV8w6N39noTqMhlShL4+RbosnOISUCVnYoQR0P2ta2u+5QDlZKZKHVwN9ySDC3HGUHXV8S9MMKhwB+WaeK7gxS5fqPsA24oWsBphpB39FA91H1DiDG42gMStELmFkYJqetcB3Zci+/sUOsbzUBcRL5O0Vx1UVG79+9FVi97h8okdEFwyl9acJ0qhO/z1zeNvLJRUwRdp1aATiMu+0BW14TCGeop/bcqk8vOYeSaByAszJ06FBVfjME+edyINYyzJFFKM+gG4OMERaAgK0U1R4AnxCFRBNvq4l/VDyLqSnlqRrQK4sd7574/gZBTRkma003qU3SoXRK8RJWsf+RvZ2BgHu X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8510.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(7416014)(366016)(1800799024)(38350700014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: +FXkFs6Q7qe7teAU0+KZkpTtdFd+mWow937Ll6LM9jADAy0x9d/4OUm5TYIQmtKAUFRD9MC9e0at94tv0s35+JaaHUapIt99/aaAVaJ/zC8wDlgT/cWgMBjMI3S6vaCglyKsqCX7B9kwNwYQLtMMg0BXFXjKHRU0YQgVSZbHWDO3hTcbpGel5CZyaW153nKSn0x/Vpv1sGyKL75Z8AQbK/Gs+bn6vzH93xmqInDeNt4SbtEWo30ZS7pmPDiEgEEVFWcUCl04bp8GPcAB4hUa2HLatYNqUgRWQzGyl6qlpXJoggc2OKrTzB46cWqDtY5BefLpS+TiYZl+q/b3W8Slv22V5wngLiNmvMlX8eUM8LdnKnfIrYFTJoYKuAbjL4BdI55Qwxbde2IwEq21YjNJJJPVIRcLtiz72xgWeS7mpZ+9McnvBlNnu4FM6PzxS3LcJzKhH3gdmivAUyszGi/iGR9XOBxRuP/9TtE3YkVKieRHggZLMwE6/DZDnBykIfh/zdxpeX0etD2l9FyIZ68uhaCjFp5Ez5b8KTxaaSTX7y7iLsHDb9Wg5nKi3xUgOaLZ2FUL9LIR8vqgoGgv10sUlfQrmKtCdeCaXB94rhU4oziiaxqSozho3+Fs3rdjHWGN5dmCMva0mx68DFLHUg3uxg0mILshm/cyV3bW468BGCLp1JE0eXm9zBKJpQMGysGl98evmHgn6UOOuYdS7kVLFNtiy++f+JsoqHBIIfoRKrHvND8veUaFdFtQrjyXOUFxX4irfDW5vGRlrhIH3vgdWbXGkhIeS5BTp1N4XrA51rpJAw35bir40qiMOXrDWnYgxI5rb59HMyWjscd8B8ABDB5Jq7MQJHjndBd2LnD6OKyRv+tDFriYrXoT4BFnDrTRvGgl1xdbzbVgMP0RCseKfpuNmwVPzU7t5QRlwkKq5MERAZHd8zm+GCnUkJ3/EFdp63OjnVwk6xDfD5LVpnIqPMGXVuakSQOVGJYww1hwoWtbY6eLpIi3izKtjuxy7pU+j28AeXMsGy1GtmU3jm5kZ/HLomq5A1uaNcPsSugqdG8X9PQELUVZAHT26q8Y48CkyXgz6ebGSjYIqysJtYqmhM0FKlpV4aRcewhg+ne/dFcuzQr1CHw7oxRl8tDuKI6FinJvzLjaGJQVx829/+q496OLwXa976sxVCq3Xclb7Zyo7DZx2Di43ghlqR8GsbfJtZ1qoKyUiys4f+0Qm0GGIp36Vx3h/8spjguVnQ6/Pge0cCdboa6ppGbVyD8r84tSBEuOiWEII2wtn/7qETR+3pVhWUZZgtg1GxPacTpq2LlEwi9m/HarijacxoHUCn6B2vtEk3uJ0wifjwlj01T3YqWt59v6ZGbOWqn4I0p6TYfBeuQtg7yC6XWU3GgXppDB9cWyw5/zUcHm7v+8t9Mruvi+BZ83wiMQXDK45HJ5gnqOcY6r4uP1aHXtBESm5Wjtsgl5Qyoy4BBIGZ5GYc0Ee9W3PYJKJXSJsEvKN0ztjE/bmo3UX5Y64mA2hFOZBXu2W/wr3XowT/IiyQY6WKmLksK616HN23X9kEiKy/Qzfejx/rRz9cFzv05T8z3VWgcp X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1595f987-311d-41d7-d056-08dd60618085 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8510.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Mar 2025 05:56:44.2700 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fm5fFQdHa6MsieWPK7LZNFijz6ZPypHEpMGpE5ouuSODY36K2bFHfNNN0A2cs0AdsvNGIqgiUSdapVSCjnqOig== X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB10945 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250310_225649_349535_9DE0B83B X-CRM114-Status: GOOD ( 14.44 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Receive side scaling (RSS) is a network driver technology that enables the efficient distribution of network receive processing across multiple CPUs in multiprocessor systems. Therefore, it is better to enable RSS by default so that the CPU load can be balanced and network performance can be improved when then network is enabled. Signed-off-by: Wei Fang --- drivers/net/ethernet/freescale/enetc/enetc.c | 35 ++++++++++--------- .../freescale/enetc/enetc_pf_common.c | 4 ++- .../net/ethernet/freescale/enetc/enetc_vf.c | 4 ++- 3 files changed, 25 insertions(+), 18 deletions(-) diff --git a/drivers/net/ethernet/freescale/enetc/enetc.c b/drivers/net/ethernet/freescale/enetc/enetc.c index 5b5e65ac8fab..8583ac9f7b9e 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc.c +++ b/drivers/net/ethernet/freescale/enetc/enetc.c @@ -2420,6 +2420,22 @@ static void enetc_set_lso_flags_mask(struct enetc_hw *hw) enetc_wr(hw, ENETC4_SILSOSFMR1, 0); } +static int enetc_set_rss(struct net_device *ndev, int en) +{ + struct enetc_ndev_priv *priv = netdev_priv(ndev); + struct enetc_hw *hw = &priv->si->hw; + u32 reg; + + enetc_wr(hw, ENETC_SIRBGCR, priv->num_rx_rings); + + reg = enetc_rd(hw, ENETC_SIMR); + reg &= ~ENETC_SIMR_RSSE; + reg |= (en) ? ENETC_SIMR_RSSE : 0; + enetc_wr(hw, ENETC_SIMR, reg); + + return 0; +} + int enetc_configure_si(struct enetc_ndev_priv *priv) { struct enetc_si *si = priv->si; @@ -2440,6 +2456,9 @@ int enetc_configure_si(struct enetc_ndev_priv *priv) err = enetc_setup_default_rss_table(si, priv->num_rx_rings); if (err) return err; + + if (priv->ndev->features & NETIF_F_RXHASH) + enetc_set_rss(priv->ndev, true); } return 0; @@ -3232,22 +3251,6 @@ struct net_device_stats *enetc_get_stats(struct net_device *ndev) } EXPORT_SYMBOL_GPL(enetc_get_stats); -static int enetc_set_rss(struct net_device *ndev, int en) -{ - struct enetc_ndev_priv *priv = netdev_priv(ndev); - struct enetc_hw *hw = &priv->si->hw; - u32 reg; - - enetc_wr(hw, ENETC_SIRBGCR, priv->num_rx_rings); - - reg = enetc_rd(hw, ENETC_SIMR); - reg &= ~ENETC_SIMR_RSSE; - reg |= (en) ? ENETC_SIMR_RSSE : 0; - enetc_wr(hw, ENETC_SIMR, reg); - - return 0; -} - static void enetc_enable_rxvlan(struct net_device *ndev, bool en) { struct enetc_ndev_priv *priv = netdev_priv(ndev); diff --git a/drivers/net/ethernet/freescale/enetc/enetc_pf_common.c b/drivers/net/ethernet/freescale/enetc/enetc_pf_common.c index c346e0e3ad37..a737a7f8c79e 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_pf_common.c +++ b/drivers/net/ethernet/freescale/enetc/enetc_pf_common.c @@ -128,8 +128,10 @@ void enetc_pf_netdev_setup(struct enetc_si *si, struct net_device *ndev, if (si->hw_features & ENETC_SI_F_LSO) priv->active_offloads |= ENETC_F_LSO; - if (si->num_rss) + if (si->num_rss) { ndev->hw_features |= NETIF_F_RXHASH; + ndev->features |= NETIF_F_RXHASH; + } /* TODO: currently, i.MX95 ENETC driver does not support advanced features */ if (!is_enetc_rev1(si)) { diff --git a/drivers/net/ethernet/freescale/enetc/enetc_vf.c b/drivers/net/ethernet/freescale/enetc/enetc_vf.c index 072e5b40a199..3372a9a779a6 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_vf.c +++ b/drivers/net/ethernet/freescale/enetc/enetc_vf.c @@ -155,8 +155,10 @@ static void enetc_vf_netdev_setup(struct enetc_si *si, struct net_device *ndev, ndev->vlan_features = NETIF_F_SG | NETIF_F_HW_CSUM | NETIF_F_TSO | NETIF_F_TSO6; - if (si->num_rss) + if (si->num_rss) { ndev->hw_features |= NETIF_F_RXHASH; + ndev->features |= NETIF_F_RXHASH; + } /* pick up primary MAC address from SI */ enetc_load_primary_mac_addr(&si->hw, ndev);