From nobody Wed Dec 17 17:26:14 2025 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2064.outbound.protection.outlook.com [40.107.92.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8EEAE19C540; Sun, 16 Mar 2025 08:14:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.92.64 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742112901; cv=fail; b=tgzGvFVh9hB3Rx0e1B6Bt1lj0zcjVw/B0FePiXxcF6zMcC/2TcBqQea2M6tn4IQbAClF54OK9kzB3tHvXbJtUv+HvphEWcmekVwQ6p94osSctKpwCWJt/ogd3g53lHs6uIDCjNask8XO9QocpToUemVTtAVpnjUZv42U6OCvD+Y= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742112901; c=relaxed/simple; bh=7MBAGE3OuJMkP1YXeqHmFJ34qMeFUUlGkds/zuWE3SY=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=s2OVFg1XUtfWMm7XLI+X/jw8jHQEdljmpaKQlGMyE9hkKm3yXSJrpnOZoeJJ2j1pMBcZ3PWiO9Rthkns+2QAqYjTjM5bALwaRpPNhEunnqxnrsz9W2LGIaO7FQsVrsojh9CIfQOj+w3Z2ZD68GMpeuhpxdCu4DVaDULr+dQ+NcU= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=n3FCQWxy; arc=fail smtp.client-ip=40.107.92.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="n3FCQWxy" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dYReCcw/xKpexVUHXta10X07HiOo54qE/Zf6eov5OM9eqCBvjiPQRgwzSEWpyb2B4Mtj7LC8eZhBrgnHHZWEV/rmGpycjMyP7i3AvSMqPiVc0yOBo1+tk2HBYdCwV0c5+A+Hcqk39M9Uxgx/hZFiL9lelum8aBzJLjOwewXrsvBGD/zwp2dIruDiTHLVmiJvbawPY+HOyNTS77P3yeI+LGxLZStn13EF+kIgiaFVh+D+OEs3JUtC8OllNs8PJuNuA2b0EjtTJmOzmOnZ3OELPb2xMfAGAVmrfc91ERaipYVP3rwPbWvQWtc3X8bCrXS4fKKmkCH7/DNZSPHBRqsrbA== 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=r9b77B2a3i3hjDgzFN4PzsjgxWx9pZuFHz2G85tPG6A=; b=thldMEzw5gr5mRS34+WGFActvyfPh/XceYW8YiaRXfU2/VeGBSqI0kgKHsUKw4RlW9QOcP+JZgEZ7vqXsDm4UiVDorjlh2mYxR9KFMzX71Nag5y8S9h+/Fztl+RWSR6FO3pLUX76Id7mX3vLQ2nJTseQr+IZIxSY32Yb8Tj8LBeRGz8Q7+sHwVURKerzRSXWcsRKcggDjyCPeIFMVkOaUMFui60Cl382alFmAZLSdywBd1QOp0EIMvJk0kFosHP7IDXQxAtQTFNIYEsG4eHZKNt5+Hl2Wk3uTmkkpIVk14PgIYpG9HhGmnnP95jJth+eZEyywxP4i/qNdxqBYDFxiQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.232) smtp.rcpttodomain=davemloft.net smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=r9b77B2a3i3hjDgzFN4PzsjgxWx9pZuFHz2G85tPG6A=; b=n3FCQWxyE61Toc9SF5f/2ubgimBNoxzV79RnL7Y4NUesnaTymr+BJOzeL5Ze8X1+kX3BpLRNcSqXxx72I/OnyLKt2HXg7uqQ5DAf6Sm2J6Ld5A08hiVkCN4YwjcZIRaRZNAw278AqJP1IpZt0zc/5YdeYSHhZRV+iB87ZT7GD1Oh0LfcBR0kfsvfSw6vyIJRC/qLzbREdkRe55HIZ0O0fMNnwDjVCGwlOeS236KP6jW3JzLzhjk0gWpoShGICfdD3DWM5UnZIkFkI1Ru/IKXNOGshooWP5VwN6n7ng/I2zNsZuwJUBou88lRGevmLlV/wZyNFj5Rg47+teabvJVP5w== Received: from DM6PR02CA0063.namprd02.prod.outlook.com (2603:10b6:5:177::40) by CYYPR12MB8869.namprd12.prod.outlook.com (2603:10b6:930:bf::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Sun, 16 Mar 2025 08:14:55 +0000 Received: from CY4PEPF0000EE30.namprd05.prod.outlook.com (2603:10b6:5:177:cafe::ab) by DM6PR02CA0063.outlook.office365.com (2603:10b6:5:177::40) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.28 via Frontend Transport; Sun, 16 Mar 2025 08:14:54 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.232) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.118.232 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.232; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.232) by CY4PEPF0000EE30.mail.protection.outlook.com (10.167.242.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.20 via Frontend Transport; Sun, 16 Mar 2025 08:14:54 +0000 Received: from drhqmail201.nvidia.com (10.126.190.180) by mail.nvidia.com (10.127.129.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Sun, 16 Mar 2025 01:14:52 -0700 Received: from drhqmail203.nvidia.com (10.126.190.182) by drhqmail201.nvidia.com (10.126.190.180) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Sun, 16 Mar 2025 01:14:51 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.126.190.182) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Sun, 16 Mar 2025 01:14:47 -0700 From: Tariq Toukan To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet , "Andrew Lunn" CC: Gal Pressman , Leon Romanovsky , "Yael Chemla" , Saeed Mahameed , "Leon Romanovsky" , Tariq Toukan , "Jonathan Corbet" , , , , , Kalesh Anakkur Purayil , Jacob Keller , Stanislav Fomichev Subject: [PATCH net-next V2 1/4] net/mlx5e: Ensure each counter group uses its PCAM bit Date: Sun, 16 Mar 2025 10:14:33 +0200 Message-ID: <1742112876-2890-2-git-send-email-tariqt@nvidia.com> X-Mailer: git-send-email 2.8.0 In-Reply-To: <1742112876-2890-1-git-send-email-tariqt@nvidia.com> References: <1742112876-2890-1-git-send-email-tariqt@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NV-OnPremToCloud: AnonymousSubmission X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE30:EE_|CYYPR12MB8869:EE_ X-MS-Office365-Filtering-Correlation-Id: 2fb0e9c5-c547-4250-2658-08dd6462a230 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|36860700013|376014|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?JsF3m+SPr92qD9X5HkQUbUbWb94CADGJ+0TWEHHgMUY2cjvrQyWjFWkRnMiW?= =?us-ascii?Q?VVLvQLNVRHOaxK/JW1lOshow0KMrKOrmEaDetYwjqp3asFgntgBSPKOY/Kqv?= =?us-ascii?Q?9RyhIGzA2iLl/jodwZWi5fmnYOvdBixtHgvobD4c2Bvg5m6X7B3JsdbLjvyj?= =?us-ascii?Q?Swz43HWVj7xX8ArR0OAigDpwrlEyrWGJ1EVVYCas4vTsJvrp8wn3mtDVICQk?= =?us-ascii?Q?Mhp75uhINN3w3BEMPtNB8j098AO+ofc6R9sHHyPOjnLrpM4/MMTCF56umyu6?= =?us-ascii?Q?sVd3Ao3CmTuo9cUOv+ySCj0VokN0ST2d5plOpBLZueMlBSKscEui87yVct0y?= =?us-ascii?Q?ZFdU/mhY9IXAxWsS3SFM/5HklHMepYsrWP1HfqZF3bI3JOG8/CMwtW/tyZF9?= =?us-ascii?Q?I/DWp/FpbwKp/ogNOxzHETHsJN+PpbPt958mwGzKz+cosk4WL1kEMXRJGxTL?= =?us-ascii?Q?MQDFGmAe7Yh2SNm4n/39UujwHKLA9dgHG0mVtaTicZUF5ENjeaL0uK0e+3g3?= =?us-ascii?Q?DAaDVmGmK1voj7EJl4xyPTJDb+Xg5t0U0bfv4EnRiufuhSU80kUrynCgNK2k?= =?us-ascii?Q?MVo68E6EAVnq5gmUn/zpUdyyC52YH3FFqqIRrac15mrTpGGDTi8yJ1koNb7j?= =?us-ascii?Q?3Nly05UF1kNMZarc0YCll/7JX8pG7Y6qUDEkB0hZ4xx7qd8Tm4GGw2FN7smy?= =?us-ascii?Q?+YRzhRNagXGM/E1lnVACLHYgdvI+ETH6sL6Hi9IAg8hmjYW9+Nc/vEcMlPrN?= =?us-ascii?Q?H4IH9esx05ukKoXLyrplaI6j2HY7uAxHhO+Buq+SAuywdVqX8ZqlqRirqm/w?= =?us-ascii?Q?BYHEirh1L/DjQ7+4T58x6O6W36EZIn7ZjtzWZ6Gcbo+p4jLVmKXq8d9wWp6D?= =?us-ascii?Q?f8hQckly3bGHCXY2uqC28XXg1T/AqrZdHGxGFTAkQ2LlzlL4BeA5duwMYE9Y?= =?us-ascii?Q?r61T3Wpg12STCc5MqmC2pg0+pg/9cmhzQkdOxlBrsZPq74zEzQc1wKr39X0A?= =?us-ascii?Q?WwoilmcLWJ9kuOEilmAzlAOLsdEemzj1KUf5lJrK0ukP/tKpsRFyF45eC7iT?= =?us-ascii?Q?Lz8OlxfONYkGoORVB8X/nhTorjxeDfpvrTlum9ixEM8YIrl+IAKB9/k+V0Rc?= =?us-ascii?Q?EOq++ZHWe827vRb/SwPQ164hz9AsqenTmpoSgXZg0Nq4GBdJUqEj8zQDRgXD?= =?us-ascii?Q?5t/MDtMOYYLI8yiMCrOQVesDZ15ljILP6n5Drdl5fzU9z7UVUTdkuMALAlAX?= =?us-ascii?Q?FzCS22rYtY8qcMcuFdSGNt4koIcojMmXofwRLrKPCBJIcYkN8rdV+dF1p0Em?= =?us-ascii?Q?IHC7ZM4fU/V+OzIFeLL/NgraHTVT5MTKjam9YsRq+1sPZHsLytukX+omvXeg?= =?us-ascii?Q?ohJKedBZMf8rHGz372j9CiiepGoLqyFXIrO9wbpiEdf2rwIzQaKluZE9KRc3?= =?us-ascii?Q?uZ2QBIsq8ex9enZDbYsX9df6/rNsLGAZwdcC5zd32fpWzsQW1yIWqfaFuZcc?= =?us-ascii?Q?VO4kKOGZ+KYS2Fk=3D?= X-Forefront-Antispam-Report: CIP:216.228.118.232;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge1.nvidia.com;CAT:NONE;SFS:(13230040)(82310400026)(1800799024)(36860700013)(376014)(7416014);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2025 08:14:54.6334 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2fb0e9c5-c547-4250-2658-08dd6462a230 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.232];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EE30.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8869 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yael Chemla The code was incorrectly relying on PCAM bit of ppcnt_statistical_group for accessing per_lane_error_counters. If ppcnt_statistical_group PCAM bit was not set, we would not read per_lane_error_counters, even when its PCAM bit is set. Given the existing device capabilities, it seems to cause no harm, so this change primarily serves as cleanup. Signed-off-by: Yael Chemla Reviewed-by: Cosmin Ratiu Signed-off-by: Tariq Toukan Reviewed-by: Jacob Keller Reviewed-by: Kalesh AP --- .../ethernet/mellanox/mlx5/core/en_stats.c | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c b/drivers/n= et/ethernet/mellanox/mlx5/core/en_stats.c index 611ec4b6f370..77d34037b92b 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c @@ -1272,11 +1272,9 @@ static MLX5E_DECLARE_STATS_GRP_OP_FILL_STRS(phy) =20 ethtool_puts(data, "link_down_events_phy"); =20 - if (!MLX5_CAP_PCAM_FEATURE(mdev, ppcnt_statistical_group)) - return; - - for (i =3D 0; i < NUM_PPORT_PHY_STATISTICAL_COUNTERS; i++) - ethtool_puts(data, pport_phy_statistical_stats_desc[i].format); + if (MLX5_CAP_PCAM_FEATURE(mdev, ppcnt_statistical_group)) + for (i =3D 0; i < NUM_PPORT_PHY_STATISTICAL_COUNTERS; i++) + ethtool_puts(data, pport_phy_statistical_stats_desc[i].format); =20 if (MLX5_CAP_PCAM_FEATURE(mdev, per_lane_error_counters)) for (i =3D 0; i < NUM_PPORT_PHY_STATISTICAL_PER_LANE_COUNTERS; i++) @@ -1294,15 +1292,13 @@ static MLX5E_DECLARE_STATS_GRP_OP_FILL_STATS(phy) data, MLX5_GET(ppcnt_reg, priv->stats.pport.phy_counters, counter_set.phys_layer_cntrs.link_down_events)); =20 - if (!MLX5_CAP_PCAM_FEATURE(mdev, ppcnt_statistical_group)) - return; - - for (i =3D 0; i < NUM_PPORT_PHY_STATISTICAL_COUNTERS; i++) - mlx5e_ethtool_put_stat( - data, - MLX5E_READ_CTR64_BE( - &priv->stats.pport.phy_statistical_counters, - pport_phy_statistical_stats_desc, i)); + if (MLX5_CAP_PCAM_FEATURE(mdev, ppcnt_statistical_group)) + for (i =3D 0; i < NUM_PPORT_PHY_STATISTICAL_COUNTERS; i++) + mlx5e_ethtool_put_stat( + data, + MLX5E_READ_CTR64_BE( + &priv->stats.pport.phy_statistical_counters, + pport_phy_statistical_stats_desc, i)); =20 if (MLX5_CAP_PCAM_FEATURE(mdev, per_lane_error_counters)) for (i =3D 0; i < NUM_PPORT_PHY_STATISTICAL_PER_LANE_COUNTERS; i++) --=20 2.31.1 From nobody Wed Dec 17 17:26:14 2025 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2085.outbound.protection.outlook.com [40.107.93.85]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EFF6719F48D; Sun, 16 Mar 2025 08:15:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.85 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742112913; cv=fail; b=C6SGUiwdFz5VXGZ/b0vw04V+yAPGHPDArezQYK/l9VJOLE61MGeAftq9Pzo4Xj3DgAi8pC2SlkumNpFeV9tVArNiA9cM7KRSUsRI6onQeSFNBluu3JMK5mN4Zy1ZhHZT75EVmBK1BvVqBAHWQIM8oLF2zeAF8R3OI6QE8jQW2Bg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742112913; c=relaxed/simple; bh=dgytlhYyUBeashVfd5Fy0MUTAy5EXNtdr0W+IIrSQjM=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=CjTd6RnTlgH5JhF1mvApRTrOw2p7Wpr+JyyPyflVuA0EuBEjvF4/lyapBQCwh3MG0oXiYpMkCxlOOgoOFb/pBmIHSkOVyJ6QquPUsCqBqPzQJ4Fy3SzZOt4cLdjXxZm0cwfDzpm4rHHYOihaRHdMcqYSBSVV8eV/zHmyqXAPiLs= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=q2Qz9lbz; arc=fail smtp.client-ip=40.107.93.85 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="q2Qz9lbz" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=TPH/2rrK7OAhZKVTcS2Bm8QtnFWmryzPcYlUVKBq21kJd2CnwXlB+YxsVx0959GtQfh9yZiQ4pEGdNrUrMiRucd24M3fHHH8gPKzjkM4a5Hv3Ymlfrzm0Su8dmo3jsNsQvLEAxGMu5pMoEgTXaLXRz5yMRxK9Zsjeg8qF1vL3sQlNUXY2GhdnFKYxhhgOKMxn5vvejxOR39r4c7K0I9QpbFGI/9siIkowds+NoaBGDlleQA//S1ROrGLbszjtlAjFnBHYgvWjZu/MVwnlZolX9b5Nz3vLEWnOXBd+BtpeSmH289JwY5i86RyCRKKiztWp85M2/3kDipNumhnYjWbKQ== 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=Oa+l0Y1Iz8xT1HafZlbWQmmhpQFZEHX0Jbr2FnOIosw=; b=F+gPBGMoq2wRRLfC5+pwNQ1ED2qjSKUXQ/j7uxnR1wwX9ULsFk4K62kj0vKT58fMHXucNSjcGMtMZuc1plKTZJLndOnqgDnQRINFrQcI0frInmkOWhbF6lnBG13z3rCEEj8g3m/WBbpsd9zIuoV00EqXsTAMTnbpBaq6f7qoNbpo24unAee5A7oZOv1mDy4yb03VD9CMnDVmcVcTy+ADRVLkchQ9b++QBFqKLzQtfWHhnq4KXF31T5FQm5oAA0u35uZoYijM933hTuY/Oce2vWLu5cQ3XcXkMs4tOPfDt1SUBG+hF8QhTjM71h2QuzKpgLo686ymMe1Bu/WdKX12Eg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.233) smtp.rcpttodomain=davemloft.net smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Oa+l0Y1Iz8xT1HafZlbWQmmhpQFZEHX0Jbr2FnOIosw=; b=q2Qz9lbzgxfDnbj+z5cJ6inDyKAuCiV4q6mypIUJnXugY1jgOYe/BCfXXjse14rXZncagTbNT4JP3TB4db+nrSUPqs218esbak0vS9IheTISBhmEWjxzNWLk593dDBgkvLW8X6XQ5RoHSwafCn9133RaWTe8mZw0DD0XRaaid/TaK9rQvCdYWVdxZ2Nv0ZlkGbFNl9JE2Z6t9Xqkzrfb0PyNzXqDZKjQyaSyjEKvur5ByGRV3Gbg8wdSz4UOKA8Ma74LseLms74U76/9YzoqI/Pa2q1PB5XdszBzOxshxZlYIqxKkJy3XUM8q6BgEJoYHr2qEku7LV6zfC1dalTw0A== Received: from BN9PR03CA0892.namprd03.prod.outlook.com (2603:10b6:408:13c::27) by SJ0PR12MB6928.namprd12.prod.outlook.com (2603:10b6:a03:47a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Sun, 16 Mar 2025 08:15:07 +0000 Received: from BN1PEPF00004683.namprd03.prod.outlook.com (2603:10b6:408:13c:cafe::f9) by BN9PR03CA0892.outlook.office365.com (2603:10b6:408:13c::27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.33 via Frontend Transport; Sun, 16 Mar 2025 08:15:06 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.233) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.118.233 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.233; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.233) by BN1PEPF00004683.mail.protection.outlook.com (10.167.243.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.20 via Frontend Transport; Sun, 16 Mar 2025 08:15:06 +0000 Received: from drhqmail203.nvidia.com (10.126.190.182) by mail.nvidia.com (10.127.129.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Sun, 16 Mar 2025 01:14:56 -0700 Received: from drhqmail203.nvidia.com (10.126.190.182) by drhqmail203.nvidia.com (10.126.190.182) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Sun, 16 Mar 2025 01:14:56 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.126.190.182) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Sun, 16 Mar 2025 01:14:52 -0700 From: Tariq Toukan To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet , "Andrew Lunn" CC: Gal Pressman , Leon Romanovsky , "Yael Chemla" , Saeed Mahameed , "Leon Romanovsky" , Tariq Toukan , "Jonathan Corbet" , , , , , Kalesh Anakkur Purayil , Jacob Keller , Stanislav Fomichev Subject: [PATCH net-next V2 2/4] net/mlx5e: Access PHY layer counter group as other counter groups Date: Sun, 16 Mar 2025 10:14:34 +0200 Message-ID: <1742112876-2890-3-git-send-email-tariqt@nvidia.com> X-Mailer: git-send-email 2.8.0 In-Reply-To: <1742112876-2890-1-git-send-email-tariqt@nvidia.com> References: <1742112876-2890-1-git-send-email-tariqt@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NV-OnPremToCloud: AnonymousSubmission X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN1PEPF00004683:EE_|SJ0PR12MB6928:EE_ X-MS-Office365-Filtering-Correlation-Id: c3857f24-58a1-4251-79d7-08dd6462a922 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|36860700013|82310400026|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?+xeX3WtSYJCOe3or0HVMXf0eS1C8bLo1VICvtwZWDcDdp6aam1qnd/2mxggh?= =?us-ascii?Q?NbcQ2vjRY026lEodWLRzbsDprMGGKvkryX0YqqSnnNzNMoKHr3wC+FHWlfxa?= =?us-ascii?Q?Fb+h1sX9w0BeSAK+IfaHIMIL8AQZre5LzLJkwie7LgzvvBPIiOON8P0JjQ91?= =?us-ascii?Q?LK5JlZniZRaGr42J7PRYZT9PWGZuaMX58Y7P5FzMSMrpqFim1vptHz6/lEA8?= =?us-ascii?Q?yq3yQBx/rqObjj/gvJxyeadM/skTpaEsphtCjj8T74VH+BzSBqoctn8SXLEQ?= =?us-ascii?Q?E3yWQZ7ohVmNgcLnOJc9ux37StrXv86T0XCKHSDAjRsMP1Mt55IuEhMsReEL?= =?us-ascii?Q?MU7Vq/lR5ZVned3tzJVhydWzjh1R6s8oiBucnQfjFrLlHVn/VSuqWK+Ts0jr?= =?us-ascii?Q?NXu/8SzfFancTlNwU8CEPvg9THAn1mp21huRbMsPJbcTuIBO2ZMG4n8wRzMN?= =?us-ascii?Q?uAb8wKaehMljBplEszUEmyMfgwFQpSCTaxoq0YATkLTwTFX7Hya8104bmlL9?= =?us-ascii?Q?GUQ9e8ey2Sh6dOAgve5xv9vrj5ZwIjTd/w/yoYsHqpc3O7As8ILozXGidV1Q?= =?us-ascii?Q?RA+rhq+fqHGOlsyyfKrT/1+6vEwhvjtqYApJq79h2qc1YxjBdm4qcOFZSEbc?= =?us-ascii?Q?4k7CWpX6XLFhDzbotEapUme7Cthj6I7J54aJmusYOw6Ep3Js0eByQxzpUae5?= =?us-ascii?Q?xk5e7mYztZ2xxUGd8fGZYpbNN8kyjFpwwo4RKjiKvrS/R0pwnFvQuaD94W1O?= =?us-ascii?Q?2JiBGRVOYUUq0wTD15OvJ9gqjUlQKKbbWxbI+ghBkrMTNADGfK1DbQwzJY+B?= =?us-ascii?Q?bcaldeeDNnIUsCmD/NgZFCToV1ZeQMK41JcFh+yVBlfy6aQy1A+XlZ+RxR60?= =?us-ascii?Q?7/Njn3Go1CMaeSYdCcaCWK+FvFzKHsDK0O6LGACUfqY3gKCTjVKNssfcrWgu?= =?us-ascii?Q?d3TsqLp7YDRgJVVrRoYXlqay7CSGajC0Oyc3Iq1P+Yn/Zidi8KFtcgDgKdVM?= =?us-ascii?Q?A7er3ZUg0LgBqwmxNQ5IswJdhOy7dpwVsiQpBW1OabED4+PTnjWT2AxxJ8U5?= =?us-ascii?Q?5CMV97EpHZYl4CKxN/BvGv2ISgyFAKchuCkHc1FvZLRTr9Hx2FgZVAc3cHGy?= =?us-ascii?Q?V4TN9KzufAf9WmDINOUNUIYdASYY89/FQ+1cYXeh3kKTYVyal+jLmIKzCAg9?= =?us-ascii?Q?l/+CM5q9SArBytpEFVJyOUBTa0L5zsggrqpI8RrbH8LXuJFljzncKnPKU+Go?= =?us-ascii?Q?6FATJ7m/oQ+HfMQVEYWH1vdqKNoTGPMGDLMpXsxRr/YAsgrMSawZ65WsCy4u?= =?us-ascii?Q?rSxcDC1mjUwgDALiNss9uzWz4MVJzRg8lVCWrWQdZF7gA+OtzDN4FpEf6Jb+?= =?us-ascii?Q?EH03nPyeLTaMb57kEU4PnUEKeQajX7nk2KvfDPR8lpmt2CS6jhO6QRO8YSLD?= =?us-ascii?Q?6vjSw1ArGnUwjoAm1dvXvEhvU4JQpUxsr58r3yDHfMoZMm6EbK0n7YsZVnTJ?= =?us-ascii?Q?sS24D41mwjkvRoU=3D?= X-Forefront-Antispam-Report: CIP:216.228.118.233;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge2.nvidia.com;CAT:NONE;SFS:(13230040)(1800799024)(36860700013)(82310400026)(7416014)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2025 08:15:06.1628 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c3857f24-58a1-4251-79d7-08dd6462a922 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.233];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN1PEPF00004683.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6928 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yael Chemla Adjust the way physical layer counters group is accessed to match the generic method used for accessing other PPCNT counter groups. Signed-off-by: Yael Chemla Reviewed-by: Cosmin Ratiu Signed-off-by: Tariq Toukan Reviewed-by: Jacob Keller --- .../ethernet/mellanox/mlx5/core/en_stats.c | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c b/drivers/n= et/ethernet/mellanox/mlx5/core/en_stats.c index 77d34037b92b..0cf0c920532f 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c @@ -1227,6 +1227,13 @@ void mlx5e_stats_ts_get(struct mlx5e_priv *priv, mutex_unlock(&priv->state_lock); } =20 +#define PPORT_PHY_LAYER_OFF(c) \ + MLX5_BYTE_OFF(ppcnt_reg, \ + counter_set.phys_layer_cntrs.c) +static const struct counter_desc pport_phy_layer_cntrs_stats_desc[] =3D { + { "link_down_events_phy", PPORT_PHY_LAYER_OFF(link_down_events) } +}; + #define PPORT_PHY_STATISTICAL_OFF(c) \ MLX5_BYTE_OFF(ppcnt_reg, \ counter_set.phys_layer_statistical_cntrs.c##_high) @@ -1243,6 +1250,8 @@ pport_phy_statistical_err_lanes_stats_desc[] =3D { { "rx_err_lane_3_phy", PPORT_PHY_STATISTICAL_OFF(phy_corrected_bits_lane3= ) }, }; =20 +#define NUM_PPORT_PHY_LAYER_COUNTERS \ + ARRAY_SIZE(pport_phy_layer_cntrs_stats_desc) #define NUM_PPORT_PHY_STATISTICAL_COUNTERS \ ARRAY_SIZE(pport_phy_statistical_stats_desc) #define NUM_PPORT_PHY_STATISTICAL_PER_LANE_COUNTERS \ @@ -1253,8 +1262,7 @@ static MLX5E_DECLARE_STATS_GRP_OP_NUM_STATS(phy) struct mlx5_core_dev *mdev =3D priv->mdev; int num_stats; =20 - /* "1" for link_down_events special counter */ - num_stats =3D 1; + num_stats =3D NUM_PPORT_PHY_LAYER_COUNTERS; =20 num_stats +=3D MLX5_CAP_PCAM_FEATURE(mdev, ppcnt_statistical_group) ? NUM_PPORT_PHY_STATISTICAL_COUNTERS : 0; @@ -1270,7 +1278,8 @@ static MLX5E_DECLARE_STATS_GRP_OP_FILL_STRS(phy) struct mlx5_core_dev *mdev =3D priv->mdev; int i; =20 - ethtool_puts(data, "link_down_events_phy"); + for (i =3D 0; i < NUM_PPORT_PHY_LAYER_COUNTERS; i++) + ethtool_puts(data, pport_phy_layer_cntrs_stats_desc[i].format); =20 if (MLX5_CAP_PCAM_FEATURE(mdev, ppcnt_statistical_group)) for (i =3D 0; i < NUM_PPORT_PHY_STATISTICAL_COUNTERS; i++) @@ -1287,10 +1296,12 @@ static MLX5E_DECLARE_STATS_GRP_OP_FILL_STATS(phy) struct mlx5_core_dev *mdev =3D priv->mdev; int i; =20 - /* link_down_events_phy has special handling since it is not stored in __= be64 format */ - mlx5e_ethtool_put_stat( - data, MLX5_GET(ppcnt_reg, priv->stats.pport.phy_counters, - counter_set.phys_layer_cntrs.link_down_events)); + for (i =3D 0; i < NUM_PPORT_PHY_LAYER_COUNTERS; i++) + mlx5e_ethtool_put_stat( + data, + MLX5E_READ_CTR32_BE(&priv->stats.pport + .phy_counters, + pport_phy_layer_cntrs_stats_desc, i)); =20 if (MLX5_CAP_PCAM_FEATURE(mdev, ppcnt_statistical_group)) for (i =3D 0; i < NUM_PPORT_PHY_STATISTICAL_COUNTERS; i++) --=20 2.31.1 From nobody Wed Dec 17 17:26:14 2025 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2046.outbound.protection.outlook.com [40.107.93.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8963E199E8D; Sun, 16 Mar 2025 08:15:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.46 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742112910; cv=fail; b=UefqixSh8CzWY2jpvx9Q/707vtvZ4NAtzlGg3v5ozAL1mmn3ZCJwMZ6iuZk5T8aR67KTuKrBblx4Pl7eGQuHbZuWCR5VmPkJxSz3FQCllm9A28DfAthC+mNtMt/LrtMF0kc9TuB3lT/7/K3e7MGjCSj9SJMVadmiXjH55kjyob8= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742112910; c=relaxed/simple; bh=s8ySOmGCTGN0w+KkptSgkL2Kh0k4j+yDl8Ck7mSjTRA=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=BgFOh1vI8DHXERTtRuo7M7dtEU5ALTHsMOGBO1VCw+Z3qSNZBaOkax1bRkfQk3IhUJpKQjRFzoKjTFFOxfV+cVDq1S6GSfy3+EZKHDagw+ibkaLoGAC/RYm5ChAp7Tm6vdhrUbVEcJqDQtJSODVBWT7m8Nyw67b59Zqm7nve3AA= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=hEIoG6XS; arc=fail smtp.client-ip=40.107.93.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="hEIoG6XS" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=HylwU62CUho0ilT1fEFnegO1kqX3A0nNozyBryI4wCebCEMNhEkUCwlVK8BoxpKvteLl5driEvvYeuSc2odphO3v1/fnWZ4h6TwjiRi/rygunlqGjaF4RyCpAFkWVl50qPmXLANlPsLoz/i7h06BITDcB5XDE+YrfTqHUSWM+inSW6rSkqmsn3ZvHnWDJCIxrL7dX/IcgDqMdZZEmgRTO2fdGnnF7dylwjfBvwyrUALVyBcvm2+LOwNnuI1F54h5sKqS6VVHL5JRCtyLW/in2hAa3XuZUSw0Zp6nrEVIK8XWA5S/dIfRNYrbItS7odP6VQY0QS0MC5CmEXTF+OVTpg== 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=yaTbK7jYh6Df1aIlAykHP4YeUitoVWVqGGS8xnAeniI=; b=emXRgVKI98iJrua/lWucRCgI0+vxCn5g1oD4nXd8Sg4CnBiiLOxLhLhAyS4z3EUnuGPow9oTOeSMg27PxOhs8xPqn95iIvXkZ0srmM/jZ90BurygBZd9kHXpNSLLifZ9C0HYUm6bs3cdqn80iBM3GT0q8x3l4VIUgwvNhgpdxEFHGOM428D315pw8nC8MSNNq2sZzcmxf8MKM/B6LQRn6tMG/DeRx2QY3sLj0RDW5JQ9aiznWzqgO+ZdDdfrwkFdoWM5BBWsTeJ8oDjOapjpHfKfhOI98Yq0C9lTbKouJ4xuE7BOfDSMBpF0Y+jKHfVxYQt0HAmZjYsNWQwXATqiyg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.232) smtp.rcpttodomain=davemloft.net smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yaTbK7jYh6Df1aIlAykHP4YeUitoVWVqGGS8xnAeniI=; b=hEIoG6XSAL+ccQHmYZ347L7RhAxAoxXmvFARWnBp7Z7ADdJAuApaJexEKgiESw6PJI7zJbJ0jhIaAliGDCpyD3tBD6loJ/SMGRseLCX11OfzbkXQfShxe2jGE/wyPTONyf487cvMHaKpLBBAr1hNwWKNudiBr9/gJMSg3l5CUVkkqwu/wSyj8pHuKHJOGLkF/8yuz1luDtEIwcip3cwtt3UUovOWhm0bo9jLRU3bq379+aKOE8GFuk+V6JNTlV1Ljz6umtmvB1L2plxI8UD/HqpoMWzR1oIL5hSYHYIzyHd4XZY+dM+LwujXvi3mzlnply7K9UQr0v/wzB8c5DknxQ== Received: from DM6PR02CA0150.namprd02.prod.outlook.com (2603:10b6:5:332::17) by MW3PR12MB4490.namprd12.prod.outlook.com (2603:10b6:303:2f::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.30; Sun, 16 Mar 2025 08:15:04 +0000 Received: from CY4PEPF0000EE33.namprd05.prod.outlook.com (2603:10b6:5:332:cafe::ae) by DM6PR02CA0150.outlook.office365.com (2603:10b6:5:332::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.30 via Frontend Transport; Sun, 16 Mar 2025 08:15:04 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.232) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.118.232 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.232; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.232) by CY4PEPF0000EE33.mail.protection.outlook.com (10.167.242.39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.20 via Frontend Transport; Sun, 16 Mar 2025 08:15:03 +0000 Received: from drhqmail201.nvidia.com (10.126.190.180) by mail.nvidia.com (10.127.129.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Sun, 16 Mar 2025 01:15:01 -0700 Received: from drhqmail203.nvidia.com (10.126.190.182) by drhqmail201.nvidia.com (10.126.190.180) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Sun, 16 Mar 2025 01:15:01 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.126.190.182) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Sun, 16 Mar 2025 01:14:56 -0700 From: Tariq Toukan To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet , "Andrew Lunn" CC: Gal Pressman , Leon Romanovsky , "Yael Chemla" , Saeed Mahameed , "Leon Romanovsky" , Tariq Toukan , "Jonathan Corbet" , , , , , Kalesh Anakkur Purayil , Jacob Keller , Stanislav Fomichev Subject: [PATCH net-next V2 3/4] net/mlx5e: Get counter group size by FW capability Date: Sun, 16 Mar 2025 10:14:35 +0200 Message-ID: <1742112876-2890-4-git-send-email-tariqt@nvidia.com> X-Mailer: git-send-email 2.8.0 In-Reply-To: <1742112876-2890-1-git-send-email-tariqt@nvidia.com> References: <1742112876-2890-1-git-send-email-tariqt@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NV-OnPremToCloud: AnonymousSubmission X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE33:EE_|MW3PR12MB4490:EE_ X-MS-Office365-Filtering-Correlation-Id: e88ec0c5-ef2a-4f91-ec24-08dd6462a7b5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|82310400026|1800799024|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?dsbmcAVF/OkYm5JOprB/3Xi/Pzg1e9PGUOTYZM1BCkTkCVG+4RAVgEBPe4xy?= =?us-ascii?Q?trwFunVDg92ByyVlHeiccfDipPS9e61bteicRRqmGs4nTVCC0gvSKe+ElZy6?= =?us-ascii?Q?BB6aAGZ4Yj7+Z5qo4TRQs4L880p/6ZV7zJZj60fZfiG1lOnUMy4hzAaXjIkn?= =?us-ascii?Q?r849srj/ZfcKxl/qCYDFm0UA8JFlvzz9pLWi2kxDBmDQO7Qoubn+udTc6Q7N?= =?us-ascii?Q?PptBPVfrYM5Seg9OTqQg/0CCEML/pxYP7ivz9KgsJmq6TmXVaOBEsUO3bEf+?= =?us-ascii?Q?+kwhhpJUnXiNpMItWmmdjhOnQ35AbkBddBv4iRebILwalsIPnfQePWM861HL?= =?us-ascii?Q?ykxf09san8FDwDwYhc85ePuz+zj3mhj/2s1eGJ895gx8DHifkcaaJCI+AOGk?= =?us-ascii?Q?mI+jj9lAyyjiHvLo+2trl03nbPq7Z8dE0FEV44My/Ix4FWgW55fSOOenngNO?= =?us-ascii?Q?ZlBup2xlfyVGpd1X+wTh5RrkX7kzOXg8JenvxfbIdc3uj70YLfwDZAlCyl4n?= =?us-ascii?Q?uLUuOn3Z5lpXRWDHRqmQZ2Cu7Qla0uYtfFO2RirZwexrA2T+jy7V/4jLmMNV?= =?us-ascii?Q?uOB33+ln+xzS9GIsbF0OMM+BuV3LMISGA+oEC9iRpgbOwCiLDH6L2we3JDVX?= =?us-ascii?Q?xwudMRzdpEiNHuVZ9eHbmqkRR7c2YCOKs7poSO5jvqJrDP1ZbSuLKsh+JKU6?= =?us-ascii?Q?n9RLPDhZ7XcCBC0ZpVWqmz8y5z4F3i1RyH+6BshCcptBS/dGI8UREGsOqZbA?= =?us-ascii?Q?r3cIrP+wbH6Xdq26w1n6mbdDxCLGHRvv+Tpjkn12g5+/+oDynzf9PSXPGTxc?= =?us-ascii?Q?EoUxVSgt6PR81AxNOlEuUflEgjB8/rgdVnCR2z5n6ennzdI4M7zW8RSM5wqq?= =?us-ascii?Q?PP1lEeEwW+FPiWCnYyBkhvtf3YRQWq9kaXATYWx60DEbTjGjpBNHDin346VG?= =?us-ascii?Q?Y4cCVfG4+ycXvjSf+9lv+k5AT/AHZyVQzbrudiIIFSb1IPlQhAIB9h7t1CdR?= =?us-ascii?Q?j9vNyyOaUE5n+3qfhnMfcXCeGugtyul7RO1qVK6psQO5kroUP5NJDw3mL1Lt?= =?us-ascii?Q?Iq+iJsUcBnkvcessHJ3QwvV0sjbQQyKPeQypAbMiRvXcMbSnSLKH3Nhn5Y6H?= =?us-ascii?Q?p8LJSpniV7DuUJbNBfjzboa3eC8uk22gqMaZGzxhqKMvrnbC0SWPlO7cgSUE?= =?us-ascii?Q?zxZhcUxUxf1JNtoICDYP1QvlPQrYwh6fKFFZcvy9TICiSHgzjWmXoKd09MhH?= =?us-ascii?Q?vm8OnAFhREVdsUJKz4PoRKItWQ+eqbWbnmf3CTfcsaWn7FYNL9nR5lGYPv03?= =?us-ascii?Q?Jxe/lULBRka9YCYSxyMo+fBYCGhjX7FHWSt+2EQmwucngMOEgqLH8Vc2KGwQ?= =?us-ascii?Q?aEuUizfh0SQ2Ueh6qrAtZb26j9ITumX2U6WBwsXU/fzyEXDQSCVi+JBqg4g7?= =?us-ascii?Q?ja411+BhJy7b5t6v8cda1cuTYTMrw7N4ZgpViwX5VPcY77I6zB1Jvkm1l09y?= =?us-ascii?Q?Chn08ylnmozKRCg=3D?= X-Forefront-Antispam-Report: CIP:216.228.118.232;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge1.nvidia.com;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2025 08:15:03.8831 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e88ec0c5-ef2a-4f91-ec24-08dd6462a7b5 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.232];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: CY4PEPF0000EE33.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4490 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yael Chemla Retrieve the number of fields supported by each PPCNT counter group based on the FW capability for this group. Signed-off-by: Yael Chemla Signed-off-by: Tariq Toukan Reviewed-by: Jacob Keller Reviewed-by: Kalesh AP --- .../ethernet/mellanox/mlx5/core/en_stats.c | 58 ++++++++++--------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c b/drivers/n= et/ethernet/mellanox/mlx5/core/en_stats.c index 0cf0c920532f..a417962acfa9 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c @@ -1257,6 +1257,13 @@ pport_phy_statistical_err_lanes_stats_desc[] =3D { #define NUM_PPORT_PHY_STATISTICAL_PER_LANE_COUNTERS \ ARRAY_SIZE(pport_phy_statistical_err_lanes_stats_desc) =20 +#define NUM_PPORT_PHY_STATISTICAL_LOOPBACK_COUNTERS(dev) \ + (MLX5_CAP_PCAM_FEATURE(dev, ppcnt_statistical_group) ? \ + NUM_PPORT_PHY_STATISTICAL_COUNTERS : 0) +#define NUM_PPORT_PHY_STATISTICAL_PER_LANE_LOOPBACK_COUNTERS(dev) \ + (MLX5_CAP_PCAM_FEATURE(dev, per_lane_error_counters) ? \ + NUM_PPORT_PHY_STATISTICAL_PER_LANE_COUNTERS : 0) + static MLX5E_DECLARE_STATS_GRP_OP_NUM_STATS(phy) { struct mlx5_core_dev *mdev =3D priv->mdev; @@ -1264,11 +1271,9 @@ static MLX5E_DECLARE_STATS_GRP_OP_NUM_STATS(phy) =20 num_stats =3D NUM_PPORT_PHY_LAYER_COUNTERS; =20 - num_stats +=3D MLX5_CAP_PCAM_FEATURE(mdev, ppcnt_statistical_group) ? - NUM_PPORT_PHY_STATISTICAL_COUNTERS : 0; + num_stats +=3D NUM_PPORT_PHY_STATISTICAL_LOOPBACK_COUNTERS(mdev); =20 - num_stats +=3D MLX5_CAP_PCAM_FEATURE(mdev, per_lane_error_counters) ? - NUM_PPORT_PHY_STATISTICAL_PER_LANE_COUNTERS : 0; + num_stats +=3D NUM_PPORT_PHY_STATISTICAL_PER_LANE_LOOPBACK_COUNTERS(mdev); =20 return num_stats; } @@ -1281,14 +1286,15 @@ static MLX5E_DECLARE_STATS_GRP_OP_FILL_STRS(phy) for (i =3D 0; i < NUM_PPORT_PHY_LAYER_COUNTERS; i++) ethtool_puts(data, pport_phy_layer_cntrs_stats_desc[i].format); =20 - if (MLX5_CAP_PCAM_FEATURE(mdev, ppcnt_statistical_group)) - for (i =3D 0; i < NUM_PPORT_PHY_STATISTICAL_COUNTERS; i++) - ethtool_puts(data, pport_phy_statistical_stats_desc[i].format); + for (i =3D 0; i < NUM_PPORT_PHY_STATISTICAL_LOOPBACK_COUNTERS(mdev); i++) + ethtool_puts(data, pport_phy_statistical_stats_desc[i].format); =20 - if (MLX5_CAP_PCAM_FEATURE(mdev, per_lane_error_counters)) - for (i =3D 0; i < NUM_PPORT_PHY_STATISTICAL_PER_LANE_COUNTERS; i++) - ethtool_puts(data, - pport_phy_statistical_err_lanes_stats_desc[i].format); + for (i =3D 0; + i < NUM_PPORT_PHY_STATISTICAL_PER_LANE_LOOPBACK_COUNTERS(mdev); + i++) + ethtool_puts(data, + pport_phy_statistical_err_lanes_stats_desc[i] + .format); } =20 static MLX5E_DECLARE_STATS_GRP_OP_FILL_STATS(phy) @@ -1303,23 +1309,21 @@ static MLX5E_DECLARE_STATS_GRP_OP_FILL_STATS(phy) .phy_counters, pport_phy_layer_cntrs_stats_desc, i)); =20 - if (MLX5_CAP_PCAM_FEATURE(mdev, ppcnt_statistical_group)) - for (i =3D 0; i < NUM_PPORT_PHY_STATISTICAL_COUNTERS; i++) - mlx5e_ethtool_put_stat( - data, - MLX5E_READ_CTR64_BE( - &priv->stats.pport.phy_statistical_counters, - pport_phy_statistical_stats_desc, i)); + for (i =3D 0; i < NUM_PPORT_PHY_STATISTICAL_LOOPBACK_COUNTERS(mdev); i++) + mlx5e_ethtool_put_stat( + data, + MLX5E_READ_CTR64_BE( + &priv->stats.pport.phy_statistical_counters, + pport_phy_statistical_stats_desc, i)); =20 - if (MLX5_CAP_PCAM_FEATURE(mdev, per_lane_error_counters)) - for (i =3D 0; i < NUM_PPORT_PHY_STATISTICAL_PER_LANE_COUNTERS; i++) - mlx5e_ethtool_put_stat( - data, - MLX5E_READ_CTR64_BE( - &priv->stats.pport - .phy_statistical_counters, - pport_phy_statistical_err_lanes_stats_desc, - i)); + for (i =3D 0; + i < NUM_PPORT_PHY_STATISTICAL_PER_LANE_LOOPBACK_COUNTERS(mdev); + i++) + mlx5e_ethtool_put_stat( + data, + MLX5E_READ_CTR64_BE( + &priv->stats.pport.phy_statistical_counters, + pport_phy_statistical_err_lanes_stats_desc, i)); } =20 static MLX5E_DECLARE_STATS_GRP_OP_UPDATE_STATS(phy) --=20 2.31.1 From nobody Wed Dec 17 17:26:14 2025 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2066.outbound.protection.outlook.com [40.107.236.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7E26319CC39; Sun, 16 Mar 2025 08:15:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.236.66 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742112927; cv=fail; b=Y4zratC6B0TPWoAGs/QmVaXpuB/FznunsRbP6mHJrPbWemV5djqJD9DmmjzltdBlGL5uPco7fq3MZZqmfkgKLssExFYtIPdQEeVe7sJhk0PfjrZMSUKs5sK3VRIckb8wsd4cNSWkeviTofG0pknubYn+Vac0Fv/AYCTCPvXfTXw= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742112927; c=relaxed/simple; bh=ry9SUCQ8T7WxUGMZyVngvXoYI6dXEbyJaKpeWh6NPAo=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=C86ZUgcvAtNHDa3aUiyMwF4dHT9N+tWctH8k28vkOEW2TsMvRojB620+ZZrKU/p3wnGkQKMRozPHCJWMvjvhJza0WiQMrcfBpLhkHbYnrfmr0ycTbPVmYyGysbO5wGbYetdAliR2RdHce46OYLsBFuiwuBXArg6dEsdMm8a75rw= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=tf+vJ8sD; arc=fail smtp.client-ip=40.107.236.66 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="tf+vJ8sD" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=iOE/vWKbVoYnLcSyzvSy0v9Ogaud+ZFjfxlJuKw5nOmquSx2Mjq0sOTiT3osN/fJLSgMZE/uqNaNSuwaT19bfiQVObnls27NXIpntwW2Dvm626cBOkAMlx8v8ecnWleDmkpj/Jrx6dNeN50Egf2354YsJ223c9Ge277dAzzcVbb3rRPfuIzU/gXGNoN5dVA6HsI7bZD66Y96CcUTEaVv5pUo/ZSPFdhINh/sWYsdhKhxlAW42rsfuN1TnV+/0ZYR0MrmQnenPq8xk3MON4jLMcGld7fMT7Q53QmKSSGEHQ2t/0cRwrGzim+23cuv6cphnnT4iUQ5oEu1+8gibPYVVQ== 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=1YUG2VVA1Gh397RPt/0oh8RJPgraXmZ6yai6FXubgFU=; b=MVW+xQBmHPHo7xH9SF1cDzbEZPiHrEltbuoTv0bK27vkMR5ar0bAsK3cQnS7yK6ZxQyD38AydQaKwsuDQgrLEuDsZlpD+oqZO/T7tH+l3pIW2pAzFIktqL25KIzGlbiAm7vsRTbC1A/U4eu0BXePwE86z/FG4jda84vhLsMXmwV90gna2Ncg59C6fqme+FBAGRxO5iQqLJXYx4iQ99idZO/JkxC0ay5snmVb/ey6A6Fw1HDt5GznAgmolfmp4OqlIO9yVjdcil9vfISSqkqMuSFMnr2uujBJF9IF4lheWfBrDag2tCwy4AIoR2INfvTaA6+P2uQvOuYlNxyDxnoJCw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.233) smtp.rcpttodomain=davemloft.net smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1YUG2VVA1Gh397RPt/0oh8RJPgraXmZ6yai6FXubgFU=; b=tf+vJ8sDFGOxaC8d0gSMxMK57J1mRrqtFVpE5a1BltGV8U3wC5sgoMLteSMOz/zizfjKhGjiBlS2IHz8WOuKmBOXfaa/Ly/QjkzU4SPIf/xO78Rbog73HoIV0VZ1JUXgw3899uHgM2gn6/P7zaDE9WrhZc9VcoMxMftAeRk1iQay/VwtgT09S9OMM5gudxni6FWiPUigGtlJRn6Wh2s8LqSzXZWDMFS/MXoaDyEMPzcWQ1wry3X17qkxSYz+03I7o/NF4VFVS6vkbJ0ZS6oX7rxW2BTS4lV9uEeeOdmVmc5LZz/iwpDol2TTM5hnKKU4yIy0MmTNCZhTqYO6mv+TaQ== Received: from BL0PR0102CA0040.prod.exchangelabs.com (2603:10b6:208:25::17) by SA3PR12MB7974.namprd12.prod.outlook.com (2603:10b6:806:307::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.33; Sun, 16 Mar 2025 08:15:20 +0000 Received: from BN1PEPF00004685.namprd03.prod.outlook.com (2603:10b6:208:25:cafe::c1) by BL0PR0102CA0040.outlook.office365.com (2603:10b6:208:25::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.28 via Frontend Transport; Sun, 16 Mar 2025 08:15:20 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.233) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.118.233 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.233; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.233) by BN1PEPF00004685.mail.protection.outlook.com (10.167.243.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.20 via Frontend Transport; Sun, 16 Mar 2025 08:15:19 +0000 Received: from drhqmail203.nvidia.com (10.126.190.182) by mail.nvidia.com (10.127.129.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Sun, 16 Mar 2025 01:15:06 -0700 Received: from drhqmail203.nvidia.com (10.126.190.182) by drhqmail203.nvidia.com (10.126.190.182) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.14; Sun, 16 Mar 2025 01:15:05 -0700 Received: from vdi.nvidia.com (10.127.8.10) by mail.nvidia.com (10.126.190.182) with Microsoft SMTP Server id 15.2.1544.14 via Frontend Transport; Sun, 16 Mar 2025 01:15:01 -0700 From: Tariq Toukan To: "David S. Miller" , Jakub Kicinski , Paolo Abeni , Eric Dumazet , "Andrew Lunn" CC: Gal Pressman , Leon Romanovsky , "Yael Chemla" , Saeed Mahameed , "Leon Romanovsky" , Tariq Toukan , "Jonathan Corbet" , , , , , Kalesh Anakkur Purayil , Jacob Keller , Stanislav Fomichev Subject: [PATCH net-next V2 4/4] net/mlx5e: Expose port reset cycle recovery counter via ethtool Date: Sun, 16 Mar 2025 10:14:36 +0200 Message-ID: <1742112876-2890-5-git-send-email-tariqt@nvidia.com> X-Mailer: git-send-email 2.8.0 In-Reply-To: <1742112876-2890-1-git-send-email-tariqt@nvidia.com> References: <1742112876-2890-1-git-send-email-tariqt@nvidia.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NV-OnPremToCloud: AnonymousSubmission X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN1PEPF00004685:EE_|SA3PR12MB7974:EE_ X-MS-Office365-Filtering-Correlation-Id: 7d53355e-b07d-49b3-f47e-08dd6462b10a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700013|1800799024|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?xVmNA51KZfBIPyl99NdsyjN7/M/fNCzQ8iZFtgUXQbGLg17wOy79q3pd9EVC?= =?us-ascii?Q?WsNoCuuODx44zibabyAXE1PZ1d2YYywpYRfpvVr6N+KpkU9XouJ1ZR8t/uv6?= =?us-ascii?Q?wzxH+NFbnckvoqbSqBq99zP3gJpA5lgkvzZmaxy9J6lTmt38pMzCyfXhRzYe?= =?us-ascii?Q?Naq4gitwXfiXyU1aDHNZpO6zFpcXqPqc4NPNKRwnntyrICydCZMKLRO1dItl?= =?us-ascii?Q?0pgt9FRjQXMGnM/4XGJhVRxdL85aBWheqtbYO3IGjdxtMe3Gl9Cty6tCpb84?= =?us-ascii?Q?mA3J4esMmLHX+jN6H+IpjkFaHBEPQ3zetAaCY4Q9EeA3e86sYH0ScRCxOSoq?= =?us-ascii?Q?58ymsD1kB0BEuoPZmSzYdx87KNu5ygJrSd/Tg4qSwukpkareXZRYf3j2/sgF?= =?us-ascii?Q?a83JNpiLtpRs0IV/QgCEyCM7Ce02c0X4ZZ9Ujs/QCDiKo8aedrbDAkk1l7AU?= =?us-ascii?Q?CXmXMuZfGfVFU0NxBqGAlbZ62F+QWVFHQqHww5qLXMsC7ImPqO78fAHTVosh?= =?us-ascii?Q?C1FBDfizQMpPA1sBIS+x2vdkzri2gUPHKuJGVlvunJ6TvROypUwFtM2BlpTo?= =?us-ascii?Q?bnePjgquU2s4Fjc8IvDrXBDnyM2DYMa0ZWRWw11W+1sJIeoMcPtsskyV+kzE?= =?us-ascii?Q?LDw/GDPkwpLr1p1VyAV3HLgSNu6ou33vLrjnp3YAcBHh4XYE935yXR1ZkRd+?= =?us-ascii?Q?YFRcDjENIjxNMa60imXsri/+t9fDnzhwAl4KlNmlE++Zg0KDeoxiiDqXZGtP?= =?us-ascii?Q?dJqM1AmENxDmOqgit56wrHbYLQmRe8znGT7lXRLfyuBlHNj/9q9NeTo03zwG?= =?us-ascii?Q?P/Od6yFvr6/GM5MrVgVH6KNr35dPXs4/Brjo6YL7ZNrfhF0KQf/b1DCWfRYN?= =?us-ascii?Q?kEz9aH8oFrRwRNCrUUdRxgCzJ/2nU5guPEhYezTzrTyylZ4UDMu3RflMIcd1?= =?us-ascii?Q?9P7X54B+Ln+3igi8TuIlEkcZlRECP+6CUtRe1/ypOiMylKLirAykkh5fk9kh?= =?us-ascii?Q?e8h963NVVImIEp0WJgJGnPZBp3bM/PYpJPpdD4oXN/qPvIhQ/oAMRa3XVAi8?= =?us-ascii?Q?Tx1mJdpSdKMQk4FlGAaxB9f07wvC/5vu2TVHlLeev6B5sKC+1TCFo6J5QxS/?= =?us-ascii?Q?4T7DD5E/+JL+XuayUHUjBUqEEBJwYLiqHJp9CEvOFNnV1M6finzo+I/DDiU7?= =?us-ascii?Q?5GOaHctarE8xl9mPkNIpeLtBny1CpAd1rDKli1lHaXswmbGaJ/tQdEtrhpUN?= =?us-ascii?Q?RGxXo8xXkBdV/BsdwmG32h9ehLQqFDmtdCpSQC7SP98TgIs5NQi9Uc0l5HtY?= =?us-ascii?Q?RlXtHLwmVdh4ntKwCMIn3teB21/IUj4K8kN7OHuxHRo651z7ky6RYuF79VsK?= =?us-ascii?Q?8CGQA364AvsCtiXozp4z5jaij0CUbcsGQNpNmKGsogdmbp1n8tXg6vv3cCYU?= =?us-ascii?Q?FABefGVS7tSUtkxkv+hKenYf7cnCUrqNiVTJLnJ5XisarZl5ZN8uyNUdogY5?= =?us-ascii?Q?DNEXkclwhanthVY=3D?= X-Forefront-Antispam-Report: CIP:216.228.118.233;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc7edge2.nvidia.com;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2025 08:15:19.4304 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7d53355e-b07d-49b3-f47e-08dd6462b10a X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.118.233];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN1PEPF00004685.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB7974 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yael Chemla Display recovery event of PPCNT recovery counters group. Counts (per link) the number of total successful recovery events of any recovery types during port reset cycle. Signed-off-by: Yael Chemla Reviewed-by: Cosmin Ratiu Signed-off-by: Tariq Toukan Reviewed-by: Jacob Keller --- .../ethernet/mellanox/mlx5/counters.rst | 5 +++ .../ethernet/mellanox/mlx5/core/en_stats.c | 44 ++++++++++++++++--- .../ethernet/mellanox/mlx5/core/en_stats.h | 4 ++ 3 files changed, 48 insertions(+), 5 deletions(-) diff --git a/Documentation/networking/device_drivers/ethernet/mellanox/mlx5= /counters.rst b/Documentation/networking/device_drivers/ethernet/mellanox/m= lx5/counters.rst index 99d95be4d159..43d72c8b713b 100644 --- a/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/counte= rs.rst +++ b/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/counte= rs.rst @@ -1082,6 +1082,11 @@ like flow control, FEC and more. need to replace the cable/transceiver. - Error =20 + * - `total_success_recovery_phy` + - The number of total successful recovery events of any type during + ports reset cycle. + - Error + * - `rx_out_of_buffer` - Number of times receive queue had no software buffers allocated for= the adapter's incoming traffic. diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c b/drivers/n= et/ethernet/mellanox/mlx5/core/en_stats.c index a417962acfa9..acb00fd7efa4 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_stats.c @@ -1250,12 +1250,22 @@ pport_phy_statistical_err_lanes_stats_desc[] =3D { { "rx_err_lane_3_phy", PPORT_PHY_STATISTICAL_OFF(phy_corrected_bits_lane3= ) }, }; =20 +#define PPORT_PHY_RECOVERY_OFF(c) \ + MLX5_BYTE_OFF(ppcnt_reg, counter_set.phys_layer_recovery_cntrs.c) +static const struct counter_desc +pport_phy_recovery_cntrs_stats_desc[] =3D { + { "total_success_recovery_phy", + PPORT_PHY_RECOVERY_OFF(total_successful_recovery_events) } +}; + #define NUM_PPORT_PHY_LAYER_COUNTERS \ ARRAY_SIZE(pport_phy_layer_cntrs_stats_desc) #define NUM_PPORT_PHY_STATISTICAL_COUNTERS \ ARRAY_SIZE(pport_phy_statistical_stats_desc) #define NUM_PPORT_PHY_STATISTICAL_PER_LANE_COUNTERS \ ARRAY_SIZE(pport_phy_statistical_err_lanes_stats_desc) +#define NUM_PPORT_PHY_RECOVERY_COUNTERS \ + ARRAY_SIZE(pport_phy_recovery_cntrs_stats_desc) =20 #define NUM_PPORT_PHY_STATISTICAL_LOOPBACK_COUNTERS(dev) \ (MLX5_CAP_PCAM_FEATURE(dev, ppcnt_statistical_group) ? \ @@ -1263,6 +1273,9 @@ pport_phy_statistical_err_lanes_stats_desc[] =3D { #define NUM_PPORT_PHY_STATISTICAL_PER_LANE_LOOPBACK_COUNTERS(dev) \ (MLX5_CAP_PCAM_FEATURE(dev, per_lane_error_counters) ? \ NUM_PPORT_PHY_STATISTICAL_PER_LANE_COUNTERS : 0) +#define NUM_PPORT_PHY_RECOVERY_LOOPBACK_COUNTERS(dev) \ + (MLX5_CAP_PCAM_FEATURE(dev, ppcnt_recovery_counters) ? \ + NUM_PPORT_PHY_RECOVERY_COUNTERS : 0) =20 static MLX5E_DECLARE_STATS_GRP_OP_NUM_STATS(phy) { @@ -1275,6 +1288,7 @@ static MLX5E_DECLARE_STATS_GRP_OP_NUM_STATS(phy) =20 num_stats +=3D NUM_PPORT_PHY_STATISTICAL_PER_LANE_LOOPBACK_COUNTERS(mdev); =20 + num_stats +=3D NUM_PPORT_PHY_RECOVERY_LOOPBACK_COUNTERS(mdev); return num_stats; } =20 @@ -1295,6 +1309,10 @@ static MLX5E_DECLARE_STATS_GRP_OP_FILL_STRS(phy) ethtool_puts(data, pport_phy_statistical_err_lanes_stats_desc[i] .format); + + for (i =3D 0; i < NUM_PPORT_PHY_RECOVERY_LOOPBACK_COUNTERS(mdev); i++) + ethtool_puts(data, + pport_phy_recovery_cntrs_stats_desc[i].format); } =20 static MLX5E_DECLARE_STATS_GRP_OP_FILL_STATS(phy) @@ -1324,6 +1342,13 @@ static MLX5E_DECLARE_STATS_GRP_OP_FILL_STATS(phy) MLX5E_READ_CTR64_BE( &priv->stats.pport.phy_statistical_counters, pport_phy_statistical_err_lanes_stats_desc, i)); + + for (i =3D 0; i < NUM_PPORT_PHY_RECOVERY_LOOPBACK_COUNTERS(mdev); i++) + mlx5e_ethtool_put_stat( + data, + MLX5E_READ_CTR32_BE( + &priv->stats.pport.phy_recovery_counters, + pport_phy_recovery_cntrs_stats_desc, i)); } =20 static MLX5E_DECLARE_STATS_GRP_OP_UPDATE_STATS(phy) @@ -1339,12 +1364,21 @@ static MLX5E_DECLARE_STATS_GRP_OP_UPDATE_STATS(phy) MLX5_SET(ppcnt_reg, in, grp, MLX5_PHYSICAL_LAYER_COUNTERS_GROUP); mlx5_core_access_reg(mdev, in, sz, out, sz, MLX5_REG_PPCNT, 0, 0); =20 - if (!MLX5_CAP_PCAM_FEATURE(mdev, ppcnt_statistical_group)) - return; + if (MLX5_CAP_PCAM_FEATURE(mdev, ppcnt_statistical_group)) { + out =3D pstats->phy_statistical_counters; + MLX5_SET(ppcnt_reg, in, grp, + MLX5_PHYSICAL_LAYER_STATISTICAL_GROUP); + mlx5_core_access_reg(mdev, in, sz, out, sz, MLX5_REG_PPCNT, 0, + 0); + } =20 - out =3D pstats->phy_statistical_counters; - MLX5_SET(ppcnt_reg, in, grp, MLX5_PHYSICAL_LAYER_STATISTICAL_GROUP); - mlx5_core_access_reg(mdev, in, sz, out, sz, MLX5_REG_PPCNT, 0, 0); + if (MLX5_CAP_PCAM_FEATURE(mdev, ppcnt_recovery_counters)) { + out =3D pstats->phy_recovery_counters; + MLX5_SET(ppcnt_reg, in, grp, + MLX5_PHYSICAL_LAYER_RECOVERY_GROUP); + mlx5_core_access_reg(mdev, in, sz, out, sz, MLX5_REG_PPCNT, 0, + 0); + } } =20 void mlx5e_get_link_ext_stats(struct net_device *dev, diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_stats.h b/drivers/n= et/ethernet/mellanox/mlx5/core/en_stats.h index 5961c569cfe0..0d87947e348d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_stats.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_stats.h @@ -309,6 +309,9 @@ struct mlx5e_vport_stats { #define PPORT_PHY_STATISTICAL_GET(pstats, c) \ MLX5_GET64(ppcnt_reg, (pstats)->phy_statistical_counters, \ counter_set.phys_layer_statistical_cntrs.c##_high) +#define PPORT_PHY_RECOVERY_GET(pstats, c) \ + MLX5_GET64(ppcnt_reg, (pstats)->phy_recovery_counters, \ + counter_set.phys_layer_recovery_cntrs.c) #define PPORT_PER_PRIO_GET(pstats, prio, c) \ MLX5_GET64(ppcnt_reg, pstats->per_prio_counters[prio], \ counter_set.eth_per_prio_grp_data_layout.c##_high) @@ -324,6 +327,7 @@ struct mlx5e_pport_stats { __be64 per_prio_counters[NUM_PPORT_PRIO][MLX5_ST_SZ_QW(ppcnt_reg)]; __be64 phy_counters[MLX5_ST_SZ_QW(ppcnt_reg)]; __be64 phy_statistical_counters[MLX5_ST_SZ_QW(ppcnt_reg)]; + __be64 phy_recovery_counters[MLX5_ST_SZ_QW(ppcnt_reg)]; __be64 eth_ext_counters[MLX5_ST_SZ_QW(ppcnt_reg)]; __be64 per_tc_prio_counters[NUM_PPORT_PRIO][MLX5_ST_SZ_QW(ppcnt_reg)]; __be64 per_tc_congest_prio_counters[NUM_PPORT_PRIO][MLX5_ST_SZ_QW(ppcnt_r= eg)]; --=20 2.31.1