From patchwork Mon May 20 11:56:33 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shravan Ramani X-Patchwork-Id: 13668270 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2071.outbound.protection.outlook.com [40.107.243.71]) (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 9DCEE53380; Mon, 20 May 2024 11:57:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.243.71 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716206222; cv=fail; b=K2eBhNheZ4CYa3fspV1UL59Dgw1Z3qprPiKg+/IPXWZzMoraBZSLVItcluAHulottBj92FkdYKW0b5+P7BxVHbeVy1ZmhXRViSeCKgmszGmkVH75JWdC+iYJGCLADsQqrsNyyG0pyu5kbwuRxip7bdYlPIVL/h8fFV82ozc1zhc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716206222; c=relaxed/simple; bh=DRN9+kfUKbV3984wUIA6xnWOcm5UEBNSSPcZ25LA6Bo=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=CRnZhH4Kuvo140OZ5M0gqsgmA4qjesTguF5fjfAc06qk+cnYQjxTwsHEKo+Pm7seLktmChhSN4LwsI6gBrorka6pFtgvaRy270aA5ABtaJhP8/gNXHmjOZLJBe8R566NR5TOVpuVE7bR6YMzCvPz/OCCmC56lvU4sRKIjJJDXv8= 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=kYTN11Nb; arc=fail smtp.client-ip=40.107.243.71 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="kYTN11Nb" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KzDA65NvJalmB5iWaHwwj3ttmyUwpk7dH1C4Xp48VJx13H8IcAxX6R9WAQP3U66rNl5t7IbND6Ql6OkCgjpidhJLK/ZzHq+rY1G2pyABAWG0TIAWDEMswWxs9MaSqPwlbdhPAjaAgyNk4+Sn0GubNsGJajOqfSeRERBcBP+I1JT3DftgzwvgYIj+m4ZzGZNAPw/a51Rp6x02oE0E+fiLfDLuvZUdxWv5zS4lMVqwXfjFe1Do90nHvFuc3Cpk8SK1/Uzo74lWzQ1fIJLWfLJqBJarSeI/lZNo5G0DoUmtKIYJHKEbS8EFgNIzbRLciTz005vJIP4pTWuuYBKb7yRZFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=O2EzonrVhq6oIy5zaTYX6aOlc2oQnRc2mw5TlWvysXk=; b=ZBjsdmorMT+8M3UpW/Ar5xBu7ux1K2D9iO60aZ72QadF1xaWQoRE3inPuOvXm5xnz8Il3ZKDoiWKKC4AdNHUIU71aV+tobCp8yPC8hZnqFGNO55XoABDY1Rg0RXDGjSF/NCswz6JqDMft77Um/1D/fNs1din8x8qLcT16dUO1+vnpjyeVdgNL4colt8qBEQfOcDcIT7j1HFg8BgDRJjMyhICm+Ex7z9L21l9H28d8yn2xAVMcx9uFMu37EFgM2cDZqMukXVsZmcarHRfUvKVXY/5OXfLcXXXoKVCYi9uMnyIS3uOo+YXVQcFoiK6p6J+d9B4hc8dRaLZL9ZqFHLajA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=redhat.com 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=O2EzonrVhq6oIy5zaTYX6aOlc2oQnRc2mw5TlWvysXk=; b=kYTN11NbhOIhxa5xD4w0ZsZpn3cM7+7U40BI4SlUJFWxd+AycCE3q4LH6POlpcChtFF11HBhQgQTQ1ZR6K6FoqNo8oYdl72He/U7Bl4IdTGijLsfFVIXpjVNDj0ygLuWhgPGhE1NWrKqbpoa05mfrs+6sYGo0eZOJKa3CCHQ86hUarDmCbElUJFoqPTLGKYKF05CIxkDCxAo0AD8Zr3pW6MMCwA+asM70SpVQVd7H19X0C1WufbWKbvgcsSalcupQkmQ54xwZZsf/T5vIFl3ayhrLo1zrknqJsY1N7JNJeaD1RlPbTeoG8wl/aRcLMtWjkVPbTf0XpKXPL4YL7iM5A== Received: from MN2PR01CA0019.prod.exchangelabs.com (2603:10b6:208:10c::32) by CY8PR12MB8364.namprd12.prod.outlook.com (2603:10b6:930:7f::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.35; Mon, 20 May 2024 11:56:57 +0000 Received: from BL02EPF0001A105.namprd05.prod.outlook.com (2603:10b6:208:10c:cafe::2b) by MN2PR01CA0019.outlook.office365.com (2603:10b6:208:10c::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.35 via Frontend Transport; Mon, 20 May 2024 11:56:57 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) 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.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by BL02EPF0001A105.mail.protection.outlook.com (10.167.241.137) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.14 via Frontend Transport; Mon, 20 May 2024 11:56:56 +0000 Received: from rnnvmail203.nvidia.com (10.129.68.9) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Mon, 20 May 2024 04:56:45 -0700 Received: from rnnvmail205.nvidia.com (10.129.68.10) by rnnvmail203.nvidia.com (10.129.68.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Mon, 20 May 2024 04:56:45 -0700 Received: from vdi.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.10) with Microsoft SMTP Server id 15.2.1544.4 via Frontend Transport; Mon, 20 May 2024 04:56:44 -0700 From: Shravan Kumar Ramani To: Hans de Goede , Ilpo Jarvinen , Vadim Pasternak , "David Thompson" CC: Shravan Kumar Ramani , , Subject: [PATCH v2 1/4] Documentation/ABI: Add document for Mellanox PMC driver Date: Mon, 20 May 2024 07:56:33 -0400 Message-ID: X-Mailer: git-send-email 2.30.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: platform-driver-x86@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF0001A105:EE_|CY8PR12MB8364:EE_ X-MS-Office365-Filtering-Correlation-Id: dcb5f7e6-30b6-4102-b93e-08dc78c3f30d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|82310400017|376005|1800799015|36860700004; X-Microsoft-Antispam-Message-Info: DWVuzaOYGOhRUaSZx/4UdS+3/IpNrRkLAsMY4NO+AE5GU3Orx4hAY2lFXBOp/5dXGcGIvWgO+GlnU0EmgIqT4VFm7XMkN0JwcTtOt9bGgj/cDnCWZ42VHC3RxSry3MnKxAMqN3Azs1vCVpwcwt7B0df+ranLKPl/zGqIPcMd9KxDWGsiuoqXs8T9xpftlit0Xat0BP6i1sLw95DdF8PAa7Oyx4na1pFkrKpWLa3NX18bZXjqcF5sD1NnPoTwnjs5Pr4R9Iw/fqsPgXFz97uBTYNEUi6ZEbyCJhcA22O0U1u8A0+iBzcu7g0LO/yzKkPb8rLGdJ13Ju/bkZVh4VlCcG9D8B3TCJfSyBPC7v5SYy3StKYfdotBpIxTjtXxLtk4I0/et1ilwKS3+8sMzAwv7Z1FGQuas31j/NfcNvX1hKyHb4BHRwf47RUG4ybL+HxDrjESDIy1B0GLopGCJ6vxzwjLKkAQbU7Htoy6yxVWjZ7jGwyEiU03bd+sRiXLTT+XsyyTfaWv098+jDq9GPyoumJcr7I5He6cbWW0NSFXlLDUqE6FOKQJy6mPrFp8OwqJO81qnqYJ4cx/FxROqEOMc44oZU1CmoJMg7HlyMSTbEOZwJYbh/wERsDAUIsQTbOlZN05kpcjiaDaJfL3ilB/aFwBCJwE6BTsJUKM9zuchaXGFYIkkKusxfTRLip5hnIBNLYB+0KHvbHc0YKl92E+DFM40UKOLkyqKEwxwqEuU0+7QsMncjtNUIzD8XL6/zvGUOifclEMN6YwnX81NmgR76supd2CHd7skxau0UkuigsVyfqE4Z4W8GpxoHOMgz1bvKmXcPjBT60hzicHhHrwcoYJYgkz0w19d43phTtEAxNg235f4de89NfjWWFzPOixjig1DROEVqz3IzErzTHIhmrS9oCrcHTk/UqIWpHHyA3qK/Xm0iQl9Fp8YuU8sustkh6nFZkaFBiOAv+/4HsCMzwAp1MMe1rvkOWWxeO0ra1TaVUslsmUUE03bXP9yFvaGUeKTTxLccfJ77aou8DziO5HDf4dxVwxHTzPPjDkyAuqVE1zsGF3iHCY9RZGpTmYNA0rSV/lSIt/I8AtrOwyP+crGqW9PIUjV3j6jxhzDJy3hhjIW654ipmh0WpbhIWLCmRiC2Th68Xx+lts+RJCM20sKiAHwLE9cf9dBKzU3883K2zH4R/293FSM/o3D095uKh4iUZVzcrlZXmH4z8SiKjTqVD6TQw/g8zsqh6lIM+c2lqeffpO/72Npk3l6oW/4K9xZR0w2khFNAKvF0iu+e61W1Qolnt9zGUJo17p/e13a6e77jHxBbeuNK8CngltOItPk6mN2BfVj6x9mjFnZMwRO/zK7/RsFRdr5S5xiBkShp5gdlTAqIKUgtnifDdo X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230031)(82310400017)(376005)(1800799015)(36860700004);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 May 2024 11:56:56.9455 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dcb5f7e6-30b6-4102-b93e-08dc78c3f30d X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF0001A105.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8364 The sysfs interface is created for programming and monitoring the performance counters in various HW blocks of Mellanox BlueField-1, BlueField-2 and BlueField-3. Signed-off-by: Shravan Kumar Ramani Reviewed-by: David Thompson --- .../ABI/testing/sysfs-platform-mellanox-pmc | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 Documentation/ABI/testing/sysfs-platform-mellanox-pmc diff --git a/Documentation/ABI/testing/sysfs-platform-mellanox-pmc b/Documentation/ABI/testing/sysfs-platform-mellanox-pmc new file mode 100644 index 000000000000..47094024dbeb --- /dev/null +++ b/Documentation/ABI/testing/sysfs-platform-mellanox-pmc @@ -0,0 +1,49 @@ +HID Driver Description +MLNXBFD0 mlxbf-pmc Performance counters (BlueField-1) +MLNXBFD1 mlxbf-pmc Performance counters (BlueField-2) +MLNXBFD2 mlxbf-pmc Performance counters (BlueField-3) + +What: /sys/bus/platform/devices//hwmon/hwmonX//event_list +Date: Dec 2020 +KernelVersion: 5.10 +Contact: "Shravan Kumar Ramani " +Description: + List of events supported by the counters in the specific block. + It is used to extract the event number or ID associated with + each event. + +What: /sys/bus/platform/devices//hwmon/hwmonX//event +Date: Dec 2020 +KernelVersion: 5.10 +Contact: "Shravan Kumar Ramani " +Description: + Event monitored by corresponding counter. This is used to + program or read back the event that should be or is currently + being monitored by counter. + +What: /sys/bus/platform/devices//hwmon/hwmonX//counter +Date: Dec 2020 +KernelVersion: 5.10 +Contact: "Shravan Kumar Ramani " +Description: + Counter value of the event being monitored. This is used to + read the counter value of the event which was programmed using + event. This is also used to clear or reset the counter value. + +What: /sys/bus/platform/devices//hwmon/hwmonX//enable +Date: Dec 2020 +KernelVersion: 5.10 +Contact: "Shravan Kumar Ramani " +Description: + Start or stop counters. This is used to start the counters + for monitoring the programmed events and also to stop the + counters after the desired duration. + +What: /sys/bus/platform/devices//hwmon/hwmonX// +Date: Dec 2020 +KernelVersion: 5.10 +Contact: "Shravan Kumar Ramani " +Description: + Value of register. This is used to read or reset the registers + where various performance statistics are counted for each block. + From patchwork Mon May 20 11:56:34 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shravan Ramani X-Patchwork-Id: 13668271 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2069.outbound.protection.outlook.com [40.107.237.69]) (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 C7C55548EC; Mon, 20 May 2024 11:57:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.237.69 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716206224; cv=fail; b=F7LG+0Cgf/UhThjA19HawyQBoiG1XqnLk7SIf/U+/CbX6R1hn14mR+M1BYIVzOZ3SbJ+0Mf0NrnzkOhUSUWkdyDYEOxPITGH0K9oO0GTw/asjfKI7d9t2lpwAKKqCfo8w3d1drCPCX6nfgcbwbzQXRI2NlveiHWvqYpPjkm3DMg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716206224; c=relaxed/simple; bh=aYSUZfhA72SyOQKsZXyMWyiNDtSadMWs15VX4HBM4QQ=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=CU5NW+PkfEEHO5nYmoyIhp56tXzW/yLDk7W7aWP6YsH5loK5vu8A2RMUtZUM8KrrFPk8SXQHVRU9v2f873M9uK1UEYqSUVzV/J0Ttjzsinjfm6o8oR+U4yBQIcSuPsvSWAOFuHT4wNYt9cEDqkH4KjVOvn5Z/s0I9DfmZE1bnS8= 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=bEa8RxFT; arc=fail smtp.client-ip=40.107.237.69 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="bEa8RxFT" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gNiKVJojEE0shhsU1qVo+X7sWQQwr1hZcBfNr7HgQVtp+XLdT1aJitY7oIX/QZtQoZftYiIJm4FQOEsRVpg+T72Lm46iQbZsAPw0P8gnnaVag7RXqhb22JRc3KXkhXPfXnGBZnPAORqNm5Xyuy1Qfm1Kxxi577nGXm8rpgmY0/Y5/18tv6Mq7sNzWniPGOUC3eNC+JmZYTWk19xP5v5SNdXoT7fWglL7eN03+3qC48xiCItawaDWYoOawUqNQVkmv+bwoiNo9H7Z1F8tlXJY1eKEm5ZwocvO46XT+DF0GTMXONrljNrKHGvUV+9njrVjUxx51LqZcNQACvsT+eHvEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=yl0n7QsT9YnrQ1Cfhcglm5itVaGQMpNsx25HsUjDrEY=; b=cfCKRM9l+Q2RAiTHc1ESBssjFpuT3f6unHhaRck/ceCwIYOMkh3SN1kBciSGoTQ/FtqdoJ7O3hmjBlTCRbxMnXpiuDRBEzixv1VBMshXVkLPLvYt1hsPhcHHONcuE2/Ex3cDN4EkvzK2P45miBK/j/8SEhfMb8ytWrE/ifCDbrnuHH9pBZwJ9rT/7h5NqmqY1o9yNQ7ziMsS5YjA39mfp4ht6ILZUd3tg9rgdWO9XTS7y+epPzRqdaa29IwSW09RTY07JUHcLsY9Nfr2kLQE/3r9aFuISKnFo6SH1JpZGaqc4VK5d2hVA4fD95AN2H0X7JklA1O5CT86VKwV+8v/BA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=redhat.com 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=yl0n7QsT9YnrQ1Cfhcglm5itVaGQMpNsx25HsUjDrEY=; b=bEa8RxFTTuzeuFvOEVzs3RnDqaLY0MkxXocj0pUCqMjAVnwJfRfoDDvJwIneyJFEzowQxR4bwyuiLeb42WUJVS5Vz3HzWNUKz7zJmP2HNHV+sYqv7E9ytlkt3XUW7lAo9/rBtX8AKdyZ+tesDusXwctiTczc30og/g+XUZ5/9pMabrHTw/KguMmbek3A64/9sDVTPqvCevirFw4YEGaLPPQaFPpILh8E6OVt/GjMCJRggG7cINoYw49MVqDyD8X2iTpyvszOWTxm1/5es+oVLTIfmQ7A8zQWuB4jPfA0iakBx6cgh+z7YxaXSmkExu/AngvjgzZfRT1ht+R/khGkLg== Received: from BN9PR03CA0913.namprd03.prod.outlook.com (2603:10b6:408:107::18) by DS0PR12MB7971.namprd12.prod.outlook.com (2603:10b6:8:14e::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.36; Mon, 20 May 2024 11:56:59 +0000 Received: from BN1PEPF00004683.namprd03.prod.outlook.com (2603:10b6:408:107:cafe::5c) by BN9PR03CA0913.outlook.office365.com (2603:10b6:408:107::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.35 via Frontend Transport; Mon, 20 May 2024 11:56:59 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) 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.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) 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.7611.14 via Frontend Transport; Mon, 20 May 2024 11:56:59 +0000 Received: from rnnvmail203.nvidia.com (10.129.68.9) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Mon, 20 May 2024 04:56:47 -0700 Received: from rnnvmail205.nvidia.com (10.129.68.10) by rnnvmail203.nvidia.com (10.129.68.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Mon, 20 May 2024 04:56:47 -0700 Received: from vdi.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.10) with Microsoft SMTP Server id 15.2.1544.4 via Frontend Transport; Mon, 20 May 2024 04:56:46 -0700 From: Shravan Kumar Ramani To: Hans de Goede , Ilpo Jarvinen , Vadim Pasternak , "David Thompson" CC: Shravan Kumar Ramani , , Subject: [PATCH v2 2/4] platform/mellanox: mlxbf-pmc: Add support for 64-bit counters and cycle count Date: Mon, 20 May 2024 07:56:34 -0400 Message-ID: X-Mailer: git-send-email 2.30.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: platform-driver-x86@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN1PEPF00004683:EE_|DS0PR12MB7971:EE_ X-MS-Office365-Filtering-Correlation-Id: 82ace5e2-065d-4709-9f0f-08dc78c3f464 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|82310400017|376005|36860700004|1800799015; X-Microsoft-Antispam-Message-Info: n4WPvjxYWLPvgu7OkdIJ/Y3LbQXXj+ZlTKdxaKsuGnXXtfdoNquYwdNviabTveDkf6lYvhetG/omFdXbXfcsZtVBJqty+51SU+warzxoAWXn5UNcmVUaE0f9UT3+CDyVludkbwN7qNOHNUV8Rv/yxLCZckLUTaqiuKJUkz7vjGit4mp+A8eNZN+jj4iEbBgBc2efQl/TjPAHn/koQYTV/j/zio6PKhr571ptOJhrAnAXdLpklzW5vQNf/irUmrbHj8PcqZZKS1t63yx85bvlBCaHZH2M9j/4xP2BYJHAK9/4zzqcnL5uoMW6vN3f9OFpdmoH2o3HabE7jJXQCU9a85H7jUux6vnaWzdl1TeSc6kppS4/ermD53sprhVafPSxh+ncbIRYoj7B/wJ+VBoLdcXQeoPF+EXViExgoirNFWwzuF206RVcHEGWQjlXsMsJCuy3sBqcgqDStilBf8oFyXlyd3jJtgrytcdsizlSpLf3nC1TBAe43RiesWUXoigvuYKN0zx44Q5yQXyVBvIyPNHtmIrY37fgM+eWQILactseZLadn6B301tZw2Z5udOwGGyeUrPSn/Kfq3yYkX1rwIzrsogKPLp9HN5U6NiEJ6blj3dRj5R7EV4lUdN1aJChxHSOGJtDkcvIs/7yszpOD6qX35+jKQLIccCQRRfBgDk5w++HlNBudCka/SEr7DFUmACZoDsW2W0RsWqKRq+SS6huJa73ZHedYQ3O2gWNkbWRAmVWWx+F0U2et/Wn7c5YlNPxgSGRS9WRO2HSK7M+RuKl7ADG/1Y/CzCQclovTcggYwAWWx7f0fYxDlvxuBSjW/VaCFIHwSH27Vza6T2n3uMGiB3S3hkSHLEptav8LSNtINZO3nqi2AdsenuFa1vOI4ECxxKtv0mQlKTbtu8Bn3gEMEIWE3zNjabaHjm8ER9rArD3nqRxYODnj8NPKC4osfYqgKf+qOs6nQGvEN4I8Fi/e+cuoZjsrUJVPbS22mbygp6AKsigvIFs29qcDoD0GW1+52PNNlQ+Mdu84O6H55rva6f94FiGF9dnv4Q8wu+i66MMRcjli47Acymfu4of0kxcV3LCTurp54mMKgAbl9xQXjrHhP71EYQdRQS/9BQMjpg65+VXnc9/2wdVe3NZaAJLd3Is2h1m6tLYXi8MkslFsKtcygF6wEZyqf+jvcDfJTytDcquTNktcg4AwC6SovoCrzMgej9NzYnE/GLYo0CybL2WWPwCTAI1s0aDKM4i5FORZ3DtpgpAgMs/73WjePEDtBGuWNle8AC8m1sWKmHe++bpS+bj3vHgQJ6VZED2SLx/KhB4J7plav/iuahn4Zxb7iVEpEC7dtlc1lDCOULqXaLKPu87xU2vHz3p6ry0hIRkn7I1iE43ijo0EHhh X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230031)(82310400017)(376005)(36860700004)(1800799015);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 May 2024 11:56:59.1771 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 82ace5e2-065d-4709-9f0f-08dc78c3f464 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];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: DS0PR12MB7971 Add support for programming any counter to monitor the cycle count. Since counting of cycles using 32-bit ocunters would result in frequent wraparounds, add the ability to combine 2 adjacent 32-bit counters to form 1 64-bit counter. Both these features are supported by BlueField-3 PMC hardware, hence the required bit-fields are exposed by the driver via sysfs to allow the user to configure as needed. Signed-off-by: Shravan Kumar Ramani Reviewed-by: David Thompson Reviewed-by: Vadim Pasternak --- drivers/platform/mellanox/mlxbf-pmc.c | 134 ++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) diff --git a/drivers/platform/mellanox/mlxbf-pmc.c b/drivers/platform/mellanox/mlxbf-pmc.c index 4ed9c7fd2b62..635ecc3b3845 100644 --- a/drivers/platform/mellanox/mlxbf-pmc.c +++ b/drivers/platform/mellanox/mlxbf-pmc.c @@ -88,6 +88,8 @@ #define MLXBF_PMC_CRSPACE_PERFMON_CTL(n) (n * MLXBF_PMC_CRSPACE_PERFMON_REG0_SZ) #define MLXBF_PMC_CRSPACE_PERFMON_EN BIT(30) #define MLXBF_PMC_CRSPACE_PERFMON_CLR BIT(28) +#define MLXBF_PMC_CRSPACE_PERFMON_UOC GENMASK(15, 0) +#define MLXBF_PMC_CRSPACE_PERFMON_COUNT_CLOCK(n) (MLXBF_PMC_CRSPACE_PERFMON_CTL(n) + 0x4) #define MLXBF_PMC_CRSPACE_PERFMON_VAL0(n) (MLXBF_PMC_CRSPACE_PERFMON_CTL(n) + 0xc) /** @@ -114,6 +116,8 @@ struct mlxbf_pmc_attribute { * @attr_event: Attributes for "event" sysfs files * @attr_event_list: Attributes for "event_list" sysfs files * @attr_enable: Attributes for "enable" sysfs files + * @attr_use_odd_counter: Attributes for "use_odd_counter" sysfs files + * @attr_count_clock: Attributes for "count_clock" sysfs files * @block_attr: All attributes needed for the block * @block_attr_grp: Attribute group for the block */ @@ -126,6 +130,8 @@ struct mlxbf_pmc_block_info { struct mlxbf_pmc_attribute *attr_event; struct mlxbf_pmc_attribute attr_event_list; struct mlxbf_pmc_attribute attr_enable; + struct mlxbf_pmc_attribute attr_use_odd_counter; + struct mlxbf_pmc_attribute attr_count_clock; struct attribute *block_attr[MLXBF_PMC_MAX_ATTRS]; struct attribute_group block_attr_grp; }; @@ -1763,6 +1769,103 @@ static ssize_t mlxbf_pmc_enable_store(struct device *dev, return count; } +/* Show function for "use_odd_counter" sysfs files - only for crspace */ +static ssize_t mlxbf_pmc_use_odd_counter_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct mlxbf_pmc_attribute *attr_use_odd_counter = container_of( + attr, struct mlxbf_pmc_attribute, dev_attr); + unsigned int blk_num; + u32 value, reg; + + blk_num = attr_use_odd_counter->nr; + + if (mlxbf_pmc_readl(pmc->block[blk_num].mmio_base + + MLXBF_PMC_CRSPACE_PERFMON_CTL(pmc->block[blk_num].counters), + ®)) + return -EINVAL; + + value = FIELD_GET(MLXBF_PMC_CRSPACE_PERFMON_UOC, reg); + + return sysfs_emit(buf, "%u\n", value); +} + +/* Store function for "use_odd_counter" sysfs files - only for crspace */ +static ssize_t mlxbf_pmc_use_odd_counter_store(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + struct mlxbf_pmc_attribute *attr_use_odd_counter = container_of( + attr, struct mlxbf_pmc_attribute, dev_attr); + unsigned int blk_num; + u32 uoc, reg; + int err; + + blk_num = attr_use_odd_counter->nr; + + err = kstrtouint(buf, 0, &uoc); + if (err < 0) + return err; + + err = mlxbf_pmc_readl(pmc->block[blk_num].mmio_base + + MLXBF_PMC_CRSPACE_PERFMON_CTL(pmc->block[blk_num].counters), + ®); + if (err) + return -EINVAL; + + reg &= ~MLXBF_PMC_CRSPACE_PERFMON_UOC; + reg |= FIELD_PREP(MLXBF_PMC_CRSPACE_PERFMON_UOC, uoc); + + mlxbf_pmc_write(pmc->block[blk_num].mmio_base + + MLXBF_PMC_CRSPACE_PERFMON_CTL(pmc->block[blk_num].counters), + MLXBF_PMC_WRITE_REG_32, reg); + + return count; +} + +/* Show function for "count_clock" sysfs files - only for crspace */ +static ssize_t mlxbf_pmc_count_clock_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct mlxbf_pmc_attribute *attr_count_clock = container_of( + attr, struct mlxbf_pmc_attribute, dev_attr); + unsigned int blk_num; + u32 reg; + + blk_num = attr_count_clock->nr; + + if (mlxbf_pmc_readl(pmc->block[blk_num].mmio_base + + MLXBF_PMC_CRSPACE_PERFMON_COUNT_CLOCK(pmc->block[blk_num].counters), + ®)) + return -EINVAL; + + return sysfs_emit(buf, "%u\n", reg); +} + +/* Store function for "count_clock" sysfs files - only for crspace */ +static ssize_t mlxbf_pmc_count_clock_store(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t count) +{ + struct mlxbf_pmc_attribute *attr_count_clock = container_of( + attr, struct mlxbf_pmc_attribute, dev_attr); + unsigned int blk_num; + u32 reg; + int err; + + blk_num = attr_count_clock->nr; + + err = kstrtouint(buf, 0, ®); + if (err < 0) + return err; + + mlxbf_pmc_write(pmc->block[blk_num].mmio_base + + MLXBF_PMC_CRSPACE_PERFMON_COUNT_CLOCK(pmc->block[blk_num].counters), + MLXBF_PMC_WRITE_REG_32, reg); + + return count; +} + /* Populate attributes for blocks with counters to monitor performance */ static int mlxbf_pmc_init_perftype_counter(struct device *dev, unsigned int blk_num) { @@ -1799,6 +1902,37 @@ static int mlxbf_pmc_init_perftype_counter(struct device *dev, unsigned int blk_ attr = NULL; } + if (pmc->block[blk_num].type == MLXBF_PMC_TYPE_CRSPACE) { + /* + * Couple adjacent odd and even 32-bit counters to form 64-bit counters + * using "use_odd_counter" sysfs which has one bit per even counter. + */ + attr = &pmc->block[blk_num].attr_use_odd_counter; + attr->dev_attr.attr.mode = 0644; + attr->dev_attr.show = mlxbf_pmc_use_odd_counter_show; + attr->dev_attr.store = mlxbf_pmc_use_odd_counter_store; + attr->nr = blk_num; + attr->dev_attr.attr.name = devm_kasprintf(dev, GFP_KERNEL, + "use_odd_counter"); + if (!attr->dev_attr.attr.name) + return -ENOMEM; + pmc->block[blk_num].block_attr[++i] = &attr->dev_attr.attr; + attr = NULL; + + /* Program crspace counters to count clock cycles using "count_clock" sysfs */ + attr = &pmc->block[blk_num].attr_count_clock; + attr->dev_attr.attr.mode = 0644; + attr->dev_attr.show = mlxbf_pmc_count_clock_show; + attr->dev_attr.store = mlxbf_pmc_count_clock_store; + attr->nr = blk_num; + attr->dev_attr.attr.name = devm_kasprintf(dev, GFP_KERNEL, + "count_clock"); + if (!attr->dev_attr.attr.name) + return -ENOMEM; + pmc->block[blk_num].block_attr[++i] = &attr->dev_attr.attr; + attr = NULL; + } + pmc->block[blk_num].attr_counter = devm_kcalloc( dev, pmc->block[blk_num].counters, sizeof(struct mlxbf_pmc_attribute), GFP_KERNEL); From patchwork Mon May 20 11:56:35 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shravan Ramani X-Patchwork-Id: 13668273 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2050.outbound.protection.outlook.com [40.107.94.50]) (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 8DD715676F; Mon, 20 May 2024 11:57:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.94.50 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716206235; cv=fail; b=XIWF7nzvWcguNfmgg0uYxcVJxhK1hhglOcnkU4lYqmPM2JUah68EcE/u0CuJaBVz5ZRVaL+zz033DoVAvvhDqKH8f5syVdt97u20+ZJd8v0sMgNLgvTnAOhq+ZLA/Gv43UN6nTWUiZCLo0pVRlWLdBKexhDOYvWT3IzcE/MWsuc= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716206235; c=relaxed/simple; bh=tu+l9oOPO1ViZIzn530t9nkb4u6RJMZaMufBUT+0eg0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=pZmPcWqjuyrpncfTK+YO6dEBWJlckDhqX9EpiP3D52OclwnF2NY4emarSmdKUHF3fMpkcvxSscaEn8qsNa77rdu0wZIJS3Xq5uBDS9VVJXCGBWNVxN8JYVU28J2hVffLpDJz6L1QFOqz1pvbg/f+kk/OGaki8xkfotiMWJ3JicQ= 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=dKhb6Yji; arc=fail smtp.client-ip=40.107.94.50 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="dKhb6Yji" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZyZvJQY67yYmcmw9K8CsCsg/6gsFFIdj+mZcgV/yDHwlUaWnxw7Ft6kv/neDR6wowltrR+FOBeah7as6GJMgtiSI2ko7kSJViQhVBwS7THrjM7IDtOXBdSMJ0smIaSH302FPzRSneFBTCNMh36XEcqyN3s61hettYrMJhxRUXOSa/epmfSvZuhQ2+wEm3NHr6A67+CJCaLZWJD4th2SUBjBGMVgbQ2qu3zA1rp2vpg89c+dOeOtYHhSIMckJzPH0+wl6rcfGn5tQYFYbRA4n8Nyjlw43uqNef+7AujCSsmsf7SK6Ty1JMI/2rvgLrlnlGxCT4F+hb6AcGD9ndLMoNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=k3G9hGj4HQSEaeMOnQ/xjz2Mzid1MG0kFCIbFwKAaOo=; b=MwuHqHZWF+osd9anX9/02rndKYksSe5OLceTs/OYrvWSaXo2dVpdBQb0kpJr7a/TJ3haVAKHJwy7c6FCdWoP+TFPskg4Ibk4eXAOFT/pDIEL1ydAtI+ba4mZeDbw5gmiOxQHysTKr/nIuwcIkUsOlvANow3Qo4TBQX4+vnQfTWl+zC0tlQ+vtZ+YCAyIkaKNfSqeQd7HEqgZ9o6L7lx+jrAw3rk2ye3nNiYrQrw9BWexJRnlC32Wjg6VjLP3GtHkZLdp3ql8k6tgrTAr7YtDuG5sI3/cEzyUN6lkjCljWUTgrqS5uxzy2MKdkq5qnk4aWCPUBAYq0rrTkA98WX3O6w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=redhat.com 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=k3G9hGj4HQSEaeMOnQ/xjz2Mzid1MG0kFCIbFwKAaOo=; b=dKhb6Yji5O/LhZsHaWRbGlSBXsVzamKP0iYe3xFJJNw5nMcnbFGNKAcHqK9dp40g9Ph3HeevOeBbHvR4Qep2KFp80uz056eLu02LcDeLgpMl0o4aNGK54zMLQeZ7RuHrPU1zEy1ElLeN5atthI0VD994qtOtmmRwteJRfWyNA0W/F9BPB/M00RUm3cseujAzDAVUUIqTqsJic0S3YyXdriP7a6UjAwnocUbpF0QMAt1T1+zCU8aATGgeLxarZUJ8E12F+c3/U0TL9qWnkPyU9vhbgWFGowTTovo56rYdSGgvS9GFfpWzeLnUSDlnggrOtwzUxxYNNsG+Azvjyo3lsA== Received: from BN9PR03CA0145.namprd03.prod.outlook.com (2603:10b6:408:fe::30) by PH7PR12MB7379.namprd12.prod.outlook.com (2603:10b6:510:20e::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.30; Mon, 20 May 2024 11:57:04 +0000 Received: from BN1PEPF00004682.namprd03.prod.outlook.com (2603:10b6:408:fe:cafe::f0) by BN9PR03CA0145.outlook.office365.com (2603:10b6:408:fe::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.35 via Frontend Transport; Mon, 20 May 2024 11:57:04 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) 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.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by BN1PEPF00004682.mail.protection.outlook.com (10.167.243.88) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.14 via Frontend Transport; Mon, 20 May 2024 11:57:03 +0000 Received: from rnnvmail204.nvidia.com (10.129.68.6) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Mon, 20 May 2024 04:56:50 -0700 Received: from rnnvmail205.nvidia.com (10.129.68.10) by rnnvmail204.nvidia.com (10.129.68.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Mon, 20 May 2024 04:56:49 -0700 Received: from vdi.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.10) with Microsoft SMTP Server id 15.2.1544.4 via Frontend Transport; Mon, 20 May 2024 04:56:48 -0700 From: Shravan Kumar Ramani To: Hans de Goede , Ilpo Jarvinen , Vadim Pasternak , "David Thompson" CC: Shravan Kumar Ramani , , Subject: [PATCH v2 3/4] platform/mellanox: mlxbf-pmc: Add support for clock_measure performance block Date: Mon, 20 May 2024 07:56:35 -0400 Message-ID: <9a2c59a17314d1449a43d13ac0cf51b807de09c8.1716205838.git.shravankr@nvidia.com> X-Mailer: git-send-email 2.30.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: platform-driver-x86@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN1PEPF00004682:EE_|PH7PR12MB7379:EE_ X-MS-Office365-Filtering-Correlation-Id: 86e314e5-703a-430c-186f-08dc78c3f742 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|1800799015|36860700004|376005|82310400017; X-Microsoft-Antispam-Message-Info: CDDw9pvEMT4R4ZLynfQJWaXwzqPrbEZr217ypM3XszWWyY1ACF0Z/b9kw7/9Qxhsq/BrW3vWd8IkkML/GhZi958J1uLiS1x8twX8CVbfuOZWGzwP/ops7b1jnB+tHiNVoZ9aZbv06xTQsAy6Ay21+yZy2FFQt7oZC31cFnzpsVMADk9Lq+t0syk5UwUtRWfjoyAeqO28MycIRCcjGkcWu3Rmee9VLNIWelDOTNr6NgcJJiqKmFE/hdFx+kJDKaC/0VsYvxCaZsuw07FNHw+Ox5wGVv5zFSVawlFWscEFn6oDhLvAgE1mET5ATZgnFifwiIISJ7iHWZ/QsphCFef4yyRCL1cNMqSCWPSE0YVPHZT+BrSNwppu6xetg2nfz18As5serz/frZBd0/VSniGu2g2NDo6gMsJHLyi38k6IzuAaJOrSIl/w61laM3gVKmsL3685T3+BVgBkmrFVZUkprZaLXiTN7YnOnnhdqOvNbjFyi9g29EeWPDtEryywyVVZ23AADDq56jxcrOCZWsrlItmuk34QqmiqYwiduYvNHNZ+N9NoRphD03JurreY8w6yokK4KB6od2C/nX/LuHY16FgBe23ocNec/36JeTJwkFQ3GQUPRr9Ck9+2sWXh3VrwS+RlIk41+vIaLk3V0JVwwshC3ssLWwVszRl0Ii5pS8UCZnmpVLcusSzMXyrkdmfDvArrA7lanURwIaav7n5p5Iy5JZlU/bKVcHhwU2O6X3nciAnT9yGp5S2UNhGu+DfNRuJFiuXDU9n0ElU05LCC3hJrrDq88g5PwcnCMqcICxSstq9yaA4Q+WqCO+ZKnvHCsUhwgyhuoTt1bspK/1Jf7ovJq2TzquC/pFDngKXSkpOuFBec/Qz7j+smVQeSC08fjbZyrkmW0aOaQEeJs21T4w9q1z8t7atkoJ83LYyeCXkRPVUDbWo/tni5DITt1XDHLGoKE0e8uX/RsLv45Zqb0VWKNlGQJB8+ILrFK401LH6VxrF6MSwQFuG1CNO+HePGRsRHNMHyyofT5wX1m0fSZD+0w60TjEHeci6iX7UnpERARwSZhtIloyxsRSZY8Ivf+YCyEdBR0RYO37TpmxSQEX54UO+P+0e5P80GXRaBKZ2ZptOCu2pC+rUTv1jSqoS+sO7dEyQUrhBEpNugnmX7xNBJjMgJEkskXLMs9XeNnoByDkq2bfkfzKM7X9u0FF8oLkCwOHqyUxJZcmpahbbEKK9DiigRIIS/KpJtrfD0LF7eGtS2587wuBT4R2SfKHEC0vzui+arMUrHaXqUYjl7gxBuuImgk1DqUcpwbGvb7XHDNrIy1mBtgl55TRmve2Rf3pr/peEsYJDnMTLr/8rXAZx8pJ/+8x31BWqpNLFFCK48X2jR0RUcgr9lygZgfm6J X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230031)(1800799015)(36860700004)(376005)(82310400017);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 May 2024 11:57:03.9996 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 86e314e5-703a-430c-186f-08dc78c3f742 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN1PEPF00004682.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7379 The HW clock_measure counter info is passed to the driver from ACPI. Create a new sub-directory for clock_measure events and provide read access to the user. Writes are blocked since the fields are RO. Signed-off-by: Shravan Kumar Ramani Reviewed-by: David Thompson Reviewed-by: Vadim Pasternak --- drivers/platform/mellanox/mlxbf-pmc.c | 46 ++++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 4 deletions(-) diff --git a/drivers/platform/mellanox/mlxbf-pmc.c b/drivers/platform/mellanox/mlxbf-pmc.c index 635ecc3b3845..1212a96fb3eb 100644 --- a/drivers/platform/mellanox/mlxbf-pmc.c +++ b/drivers/platform/mellanox/mlxbf-pmc.c @@ -865,6 +865,37 @@ static const struct mlxbf_pmc_events mlxbf_pmc_llt_miss_events[] = { {75, "HISTOGRAM_HISTOGRAM_BIN9"}, }; +static const struct mlxbf_pmc_events mlxbf_pmc_clock_events[] = { + { 0x0, "FMON_CLK_LAST_COUNT_PLL_D1_INST0" }, + { 0x4, "REFERENCE_WINDOW_WIDTH_PLL_D1_INST0" }, + { 0x8, "FMON_CLK_LAST_COUNT_PLL_D1_INST1" }, + { 0xc, "REFERENCE_WINDOW_WIDTH_PLL_D1_INST1" }, + { 0x10, "FMON_CLK_LAST_COUNT_PLL_G1" }, + { 0x14, "REFERENCE_WINDOW_WIDTH_PLL_G1" }, + { 0x18, "FMON_CLK_LAST_COUNT_PLL_W1" }, + { 0x1c, "REFERENCE_WINDOW_WIDTH_PLL_W1" }, + { 0x20, "FMON_CLK_LAST_COUNT_PLL_T1" }, + { 0x24, "REFERENCE_WINDOW_WIDTH_PLL_T1" }, + { 0x28, "FMON_CLK_LAST_COUNT_PLL_A0" }, + { 0x2c, "REFERENCE_WINDOW_WIDTH_PLL_A0" }, + { 0x30, "FMON_CLK_LAST_COUNT_PLL_C0" }, + { 0x34, "REFERENCE_WINDOW_WIDTH_PLL_C0" }, + { 0x38, "FMON_CLK_LAST_COUNT_PLL_N1" }, + { 0x3c, "REFERENCE_WINDOW_WIDTH_PLL_N1" }, + { 0x40, "FMON_CLK_LAST_COUNT_PLL_I1" }, + { 0x44, "REFERENCE_WINDOW_WIDTH_PLL_I1" }, + { 0x48, "FMON_CLK_LAST_COUNT_PLL_R1" }, + { 0x4c, "REFERENCE_WINDOW_WIDTH_PLL_R1" }, + { 0x50, "FMON_CLK_LAST_COUNT_PLL_P1" }, + { 0x54, "REFERENCE_WINDOW_WIDTH_PLL_P1" }, + { 0x58, "FMON_CLK_LAST_COUNT_REF_100_INST0" }, + { 0x5c, "REFERENCE_WINDOW_WIDTH_REF_100_INST0" }, + { 0x60, "FMON_CLK_LAST_COUNT_REF_100_INST1" }, + { 0x64, "REFERENCE_WINDOW_WIDTH_REF_100_INST1" }, + { 0x68, "FMON_CLK_LAST_COUNT_REF_156" }, + { 0x6c, "REFERENCE_WINDOW_WIDTH_REF_156" }, +}; + static struct mlxbf_pmc_context *pmc; /* UUID used to probe ATF service. */ @@ -1038,6 +1069,9 @@ static const struct mlxbf_pmc_events *mlxbf_pmc_event_list(const char *blk, size } else if (strstr(blk, "llt")) { events = mlxbf_pmc_llt_events; size = ARRAY_SIZE(mlxbf_pmc_llt_events); + } else if (strstr(blk, "clock_measure")) { + events = mlxbf_pmc_clock_events; + size = ARRAY_SIZE(mlxbf_pmc_clock_events); } else { events = NULL; size = 0; @@ -1472,14 +1506,15 @@ static int mlxbf_pmc_read_event(unsigned int blk_num, u32 cnt_num, bool is_l3, u /* Method to read a register */ static int mlxbf_pmc_read_reg(unsigned int blk_num, u32 offset, u64 *result) { - u32 ecc_out; + u32 reg; - if (strstr(pmc->block_name[blk_num], "ecc")) { + if ((strstr(pmc->block_name[blk_num], "ecc")) || + (strstr(pmc->block_name[blk_num], "clock_measure"))) { if (mlxbf_pmc_readl(pmc->block[blk_num].mmio_base + offset, - &ecc_out)) + ®)) return -EFAULT; - *result = ecc_out; + *result = reg; return 0; } @@ -1493,6 +1528,9 @@ static int mlxbf_pmc_read_reg(unsigned int blk_num, u32 offset, u64 *result) /* Method to write to a register */ static int mlxbf_pmc_write_reg(unsigned int blk_num, u32 offset, u64 data) { + if (strstr(pmc->block_name[blk_num], "clock_measure")) + return -EINVAL; + if (strstr(pmc->block_name[blk_num], "ecc")) { return mlxbf_pmc_write(pmc->block[blk_num].mmio_base + offset, MLXBF_PMC_WRITE_REG_32, data); From patchwork Mon May 20 11:56:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shravan Ramani X-Patchwork-Id: 13668272 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2058.outbound.protection.outlook.com [40.107.236.58]) (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 70BF753E02; Mon, 20 May 2024 11:57:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.236.58 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716206227; cv=fail; b=aEYA2cD/mRiejamCx1ARFdFMrRtW1T5nwAQMWyB1WaRU98r+2subOQZJQXFo7mwf1X2C9UxwlugelQNE1jjoiXDdz57SbeHV9DiMYz1xneZdv8VozrVkzl2M2rLdo3awBZMqrz1oeOp5bINOzvaclbpIAVSIBiQMTruu8oSU3UM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1716206227; c=relaxed/simple; bh=ucqeW9kbc8dpKY+Zhc+eWoKgaO58utRX/EVG8SkWLOk=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=oKO9R37cOaFHtHdWYKsWJSr3dkdyTv5+hkRHyyLnt9KBz6+7O2bAcXJP+/jT2HAErv2RLetGllHFw8D6VjdlY9icX8OBlv4SOTzjFOgL23CnJq5Oav+4LjA9B3ErSksyILXJqwZ4/ehPDsJvjnaXa+3xTLBvM76O3dq1HQzMFZE= 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=CmIAQMg+; arc=fail smtp.client-ip=40.107.236.58 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="CmIAQMg+" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QrVpaNG5BJXLcWx4YYmYKyptC0/sZrbmKRu1zu+vyJ/4nUevW1tPZeOMVo8ToWnT3r/4wv+eTzfWcWoHZVZBGXe4sDdmQs2wMjNxiK7Ed1dYPZcwYrDuAylmrilQjozxBYV9v9XmtjbOkxRvGytDb5015JQiIfvvQEo8At5K3hC618XyI0e2F9oG1kwQQsmGJ1JwuCbLmdcu0gEKO1ZgOG0CXJzhC4wICZkZ5qe71RFDQ6htRX2CurExF0X/jJcXtKNq7R2RLRYb37fLmteZySTeYioWBUq+0gX2ZffTaqKd48hPbrBv3Cst2tp4ENdicCkMnYTPBZrIzU0e8F79uQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=gYWMgciAkx3D6/qOEEwsM9A3EY+lOrg2D9/nNr/FoYg=; b=FbhLd+fLk9lXi3wFgnjr1XMb0y1idPGCng5+G3x8I9zpFqr5iiZo+//KC7+PcuboBNWnE5QgaCK4ZASQuwWo+cXea3HwellkZqwN6DfPw1V18l2YPd/cl6BS5Bo7D0U+evOLKOwJTPLgBgKCjR/c9O6wtxioBKDsezmf1Xo89SOIbC7UGDSOw3Ja29OmaSL0BokuUgQchQ1KQe5RBPt3ytuZsj2CueZuaY4xw+m6kjsq8S/kJrVU7t6aUNCrki0QoDzopjSoku3QOAxQkrkMvNtg1B8AdpHtKxNOd+PPlDmO/I/vhm8j3C0t4dxSDqaDqcU/wqcKIGx6v0i5zFnPWw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=redhat.com 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=gYWMgciAkx3D6/qOEEwsM9A3EY+lOrg2D9/nNr/FoYg=; b=CmIAQMg+gDve4WnBIYqgNvqX7/twaeGxRN+/Swtmn5Q6QXb017vek3OqN7goM+ogCloVDFTPSHmm2I5/S7PQmoi4ow50RRBkF7KmjOa8M+hI0Nwl/xS/teabX8n7sp2RBxalEan2qQCm46oxE2GoSZKo5ylJm78cYtFwfsecpTWaVdtwMVM1aqBQ0nf6xUC/XPU02A7F5OLgLR3AWIgXq/c3MAf15++lUF4c4SprQ5TJ2XyMFlt6LVH1yi+04NZGR+m0YV9Yjz0GETrtDa0iLabDyZ34kt/90/ubJOkRGzncn20NCKDIe2QRMyg/EQGZYhsV+QbZ0kunp/QFiDJcLw== Received: from BL1PR13CA0131.namprd13.prod.outlook.com (2603:10b6:208:2bb::16) by BL3PR12MB6618.namprd12.prod.outlook.com (2603:10b6:208:38d::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.34; Mon, 20 May 2024 11:57:03 +0000 Received: from BL02EPF0001A103.namprd05.prod.outlook.com (2603:10b6:208:2bb:cafe::5f) by BL1PR13CA0131.outlook.office365.com (2603:10b6:208:2bb::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.16 via Frontend Transport; Mon, 20 May 2024 11:57:03 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) 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.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by BL02EPF0001A103.mail.protection.outlook.com (10.167.241.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.14 via Frontend Transport; Mon, 20 May 2024 11:57:03 +0000 Received: from rnnvmail203.nvidia.com (10.129.68.9) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Mon, 20 May 2024 04:56:52 -0700 Received: from rnnvmail205.nvidia.com (10.129.68.10) by rnnvmail203.nvidia.com (10.129.68.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Mon, 20 May 2024 04:56:51 -0700 Received: from vdi.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.10) with Microsoft SMTP Server id 15.2.1544.4 via Frontend Transport; Mon, 20 May 2024 04:56:51 -0700 From: Shravan Kumar Ramani To: Hans de Goede , Ilpo Jarvinen , Vadim Pasternak , "David Thompson" CC: Shravan Kumar Ramani , , Subject: [PATCH v2 4/4] Documentation/ABI: Add new sysfs fields to sysfs-platform-mellanox-pmc Date: Mon, 20 May 2024 07:56:36 -0400 Message-ID: <857ddcc583986631bb5f6888305fdb898c76e72e.1716205838.git.shravankr@nvidia.com> X-Mailer: git-send-email 2.30.1 In-Reply-To: References: Precedence: bulk X-Mailing-List: platform-driver-x86@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF0001A103:EE_|BL3PR12MB6618:EE_ X-MS-Office365-Filtering-Correlation-Id: 626c1cd5-5b15-4174-b49b-08dc78c3f6d7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|82310400017|1800799015|376005|36860700004; X-Microsoft-Antispam-Message-Info: gm3culY+vRG/7ms2lZhZzXNW8ZbpIucs/SM7EYhiFjcMP6sxVmJ6mQBC1NedllhuveYugP36YTzDvItRQmOkuVvKqm57MZqoiGCU+pTZcKGUEmGSMbZ5FVCpQ/zagZs7lMOE5rECXx8mi0gdoixt1HJEJHxHaiNP1lzVyVlI8x155uiw3e/jCi3Uxdorv4d76wFq+m+czDNXl3PhMMPCY2icUSTFj5sOLOyAqjZ8f9QLRMLc/AusNx67ZDBocrLXVjasXHu9zJ6uvtuEhQKcY4VeHXAYtioebje/2JFXUp5diqzoxZGCW2VJ6S3yK57HWdKhm0I0P+jCqIg+WZ6QLQTVW/r6teOCWsOYsvpXUMufgb4VrItjMSDUqyTzMljro6UjFs6lfFFGcYn5n/aQ6MCBz6VEkt8cBrEsjaoWSTMIJUUOKB3/nQPTHpG7fee0q6qYrahz9RHPJL24t/5zR4C41bPJRo6JagM75FRr0D9QvttExLseOZgL0ri251wvZQddrnSRgcOv8HLekr9yQF6/XZ+s2FqtDqSf/AO/g9WBNttCUP+Xfpsq123oUBIkmhqdu8pF6ZLNdbaBldQmlRaA7pMeDjja84Dye9ffAsuVbDS91l+HlRIQ8vgdgg63eo0VE8rnHQpOy8koLvh0BJEWlT6gAftAJAx6r0+UhM2XAdxm6AaXWEHa8PPfrzcBaIl/3/KkLOI83P3O5mXMdCP2tvZsf5eoCUJPFdfwADmQtv89VzC6u2QifPYz/a2aIeMeccPsUb/1M4qAiXMZfz9rMlNFP8jpzzqEgPN81cBRwGvi/vAnFrt5n2UKHS1+kwyCNXq0Cce6ZcmXH8YPPpByZB+QsyEfUU8UpnxmEoQe/Jw75vMIH+MR0rQ4nXfrgxyiNCO9FYU25r4qOg/IIIE6Pp4RaevCZPQWdVptMIQ51nzobJwtA9/NYJBD5u58ET6e+OzPdFkZX/7M2Pys8ZBdG7Xc/DOpFBhlRT3r9XGmQn8Kuv7Mx1VIuXSd/SvzjZP5rn3MXQ6Epw7EL4puYnGvlzVDjOgZeFC0uQy6Hrkhqi2F/mC6izgQ0mNwBGSt3nXZgYPSgDns4r8QCajjtcTRHGjdcqFWeKAxieFcrJ3P8OsUFH+NEbAclvJWydTx9xN0dfpzwh3NIQMbDcreSkuEXxavgq8tLKtzQr0VlIZOgOhmVxexhBDMdBzE9+6ZL0C6NE8Ov26T24+CSK41dXzno9DStOTtJDVHfsVZrLFQEuXvWXHVhAe9G1/3uM7kTdp4iKvRIVrchCMa8R8WMDzq/gYHNwHd+wj+ao11l4J+l5IlW+vLmRnG92OInMuEPeUtoSsAE2wsLP+lyhZdDMEf0ZJHPXRuBcmybw0CLDuucuzCa6IGdZdpxFsfJmMh X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230031)(82310400017)(1800799015)(376005)(36860700004);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 May 2024 11:57:03.3023 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 626c1cd5-5b15-4174-b49b-08dc78c3f6d7 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF0001A103.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6618 Document newly added "count_clock" and "use_odd_counter" sysfs entries for the Mellanox BlueField PMC driver. Signed-off-by: Shravan Kumar Ramani Reviewed-by: David Thompson --- .../ABI/testing/sysfs-platform-mellanox-pmc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Documentation/ABI/testing/sysfs-platform-mellanox-pmc b/Documentation/ABI/testing/sysfs-platform-mellanox-pmc index 47094024dbeb..b9973ebec2fd 100644 --- a/Documentation/ABI/testing/sysfs-platform-mellanox-pmc +++ b/Documentation/ABI/testing/sysfs-platform-mellanox-pmc @@ -47,3 +47,19 @@ Description: Value of register. This is used to read or reset the registers where various performance statistics are counted for each block. +What: /sys/bus/platform/devices//hwmon/hwmonX//count_clock +Date: May 2024 +KernelVersion: 6.10 +Contact: "Shravan Kumar Ramani " +Description: + Use counter for counting cycles. This is used to program any of + the counters in the block to count cycles. + +What: /sys/bus/platform/devices//hwmon/hwmonX//use_odd_counter +Date: May 2024 +KernelVersion: 6.10 +Contact: "Shravan Kumar Ramani " +Description: + Form 64-bit counter using 2 32-bit counters. This is used to combine + 2 adjacent counters to form a single 64-bit counter. +