From patchwork Fri Jun 7 10:21:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shravan Ramani X-Patchwork-Id: 13689628 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2065.outbound.protection.outlook.com [40.107.243.65]) (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 0163515E5BB; Fri, 7 Jun 2024 10:21:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.243.65 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717755704; cv=fail; b=iHGWo22TVr08i0wuH1HFvoCJHpJOfi3i5PZ4TbkDjdndg3RKSnU67I/fq1NYHmHWfnLG3bivK7+1SiqAXqZ/PaYVogb15CIR1N2ayY73IotiJOabaqxMnIguZh8NKgIaEKe0ZR25eOvjSG3UXCfzaZjG2tK6TKIXG1/cGCumW04= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717755704; c=relaxed/simple; bh=8jopo64aJS9Ewo/Zbk90XLHJVILuqL3qi9AASt7px7o=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=afF72Nij3GQ4NSJwBV5HtPVtgKbjfm25Dvmvbb8tYoBnCpzDkD6dex5MQRfnwJR3Sm0OKU76aytmTr44qzg/RpqbFbXmZuljphr0kDgEen65iSgspi+8R0gawxuxxtR3UuCuKSj/CXjnBti+Gjzn9pRavDUbQVaeodiy5FA3gzM= 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=DBeG+oIa; arc=fail smtp.client-ip=40.107.243.65 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="DBeG+oIa" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=He3ClBQ01XAX39mbBgem+dGDCbPFgN/csA2lFJ4R0Hg5LjHlzAJ7f8PV1i91+42zR4JNXbNaR1JapOmT4yGUeQURTgNvdJuP3WGTYHQoCkGE3lYiwVtfD/Vdh+Ubowvl0miDEf0l+KcVWBbRK1FdivyfNf352C8vcU5184IVynFaFEwFJ+JRLe+RYimtB+hlFmCtDeC5G3rzSt4pCpc4OkgJC6rTzofTAXBH56IJN+ty1+Q2mlKD7scx5Fv+U57HXJJQSCk2kKcLq5rbxo8mVDq4VyjsflO29o5hcZgNIVgNg+JNwMGVcLBw2XMqMO4qxixUYj1bOanq+PldxFdKCA== 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=sK1B+oYGn/D10oohky/JpiiRSxfxumanJWAuIesK2M0=; b=Vna/rIijRV33zSGX7u0oFs4Rsslf4UTGmGDqCrApJBk2+YKyL2w1AfAARZkFAJndR4vUE31+peSZzfqspfyuXqLQCaADbdlhoKoDf+sJ7PdDfxujQiHCwNbhpENMwTDHjt4SB/rkeoFF/BaWrl8OedRhaxcnYbPOznqRjIuTE7HDufknCysIK02r2CFxmuIfKkRyp6qrLH+ahlQE/F0oAiV6ueQ+m1F2EF7O9+nVvICZomgaf0xuF433mzv558cg1EhO6zlFbim8JOUkbukwW/VlirxJJE8m4qfiDxyfNujlvmnzpAFcjzEbk0mBWSatpQwAvSxKEPD/hht4DA36MQ== 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=sK1B+oYGn/D10oohky/JpiiRSxfxumanJWAuIesK2M0=; b=DBeG+oIaVpQP+uw4w5pOykJ5LRi0srUmO31oENY1wUeYfFL0BaaMWXtdQwmj0U3U0yevdj09FROrKo5PfQ0SflIJgFbboEbLM8iKFHzPX2K/70UeQdhqaHF+WuUncRx3qj8X4Xp1uNK/uQp4ww3uMtv78/M+DYnJQqJ+1Or5dE0Zb3megM5Rg65rl6Ym9uayerlzVs2XXghNBUUW61tQwQhLBcqCo0Yodn1rJh0t42WMvJs98nj02TSFK5JR2M2ATiVKI7TrSqzOljHJuOSIIADkodzhCFiuj2+B1ZsNpBXehM7+Mis8w+5rll/ygsnJ/6AMDQS/RZyF27H3FsQM9g== Received: from BYAPR07CA0052.namprd07.prod.outlook.com (2603:10b6:a03:60::29) by PH8PR12MB6937.namprd12.prod.outlook.com (2603:10b6:510:1bc::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.34; Fri, 7 Jun 2024 10:21:35 +0000 Received: from SJ1PEPF00002310.namprd03.prod.outlook.com (2603:10b6:a03:60:cafe::4) by BYAPR07CA0052.outlook.office365.com (2603:10b6:a03:60::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7656.21 via Frontend Transport; Fri, 7 Jun 2024 10:21:34 +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 SJ1PEPF00002310.mail.protection.outlook.com (10.167.242.164) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.15 via Frontend Transport; Fri, 7 Jun 2024 10:21:34 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) 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; Fri, 7 Jun 2024 03:21:20 -0700 Received: from rnnvmail204.nvidia.com (10.129.68.6) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Fri, 7 Jun 2024 03:21:20 -0700 Received: from vdi.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server id 15.2.1544.4 via Frontend Transport; Fri, 7 Jun 2024 03:21:19 -0700 From: Shravan Kumar Ramani To: Hans de Goede , Ilpo Jarvinen , Vadim Pasternak , "David Thompson" CC: Shravan Kumar Ramani , , Subject: [PATCH v3 1/4] Documentation/ABI: Add document for Mellanox PMC driver Date: Fri, 7 Jun 2024 06:21:11 -0400 Message-ID: <2714c0f2beddc19de3c08ddc0f9c43716884b0f2.1717755404.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: SJ1PEPF00002310:EE_|PH8PR12MB6937:EE_ X-MS-Office365-Filtering-Correlation-Id: aaf0e633-4225-47a4-8f45-08dc86db9bca X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|36860700004|1800799015|376005|82310400017; X-Microsoft-Antispam-Message-Info: KpbzggMBKrsDoU9XX78ftsDiDMbYB0CkiNyaRzt1NRVOw9bB0FQ98F6J2l4tA8g/PAsCaABKu3WSIL3Wmjc1tLUHDaYXfKqSkCISY2PEaAGBm3jeCdrgzxlS0OTZn0T6kbwrEgT+6g4iGuDwCGv7vcaFH7qMDY0ktISiaWNGesqkVqQnTLODLV07MNOivYdyFnBaZ+ULkV9vvqiz5Nt+BbI8P6UFb2waDsUhwygVXJlpyWXoGUs8vvXNBlNWFYprL/KnUcud3W2zh3g2mGi1adLnCcWeCxYoLpjX4iAN+FPEzVf7o19j1Z9MT+30r0Zh8VzfqJZRmn6XHDZOgCfhvHVf8ZYBXNwMH5FN6Lt650n4xjfBQATxvVtuIna1duaBZ3v9kPNTPdazPcI1rIhvHRovixvUtP6BeAUoH7KK5Bx4ABoXMqkgB/8Ya4LhWgjzntrP6WbpClrDe1R6YUoxTB2g1S8wRvMlMb/nfLXLDTISlYfQsUPyEx0+uCji4W8p4aLQ9cQe6lbgyOM7LOlp4EHq3TmDGkuXA3P+dftk3V6cj9TYK8Wng9aDYpgws5nKgLNfV8BNs4phcSE5Q+BsENGOK6k+7KS7+Nx8w54RIuutGeT5mOfci+Bs9zZTthgtczy4E2YCTZ5LsltUJGgp0Q9zbYI672X53sMtgY5YTUglE73U3A7dICeEzTTLwB40ffI2ETIggLqJM6vUNMMaByN/oXjWsS1F+5C9/EjTSursHgs+dbn9J7/zWJutCFTauwx0vvWtv+3nAPx5vSGDh6o/Xs6M7xIz5nGl/x7h3Pr/gL89jEfJZJLLs7megoSSAh6FSSIIUvvJAr7df8xtv94lMPHUvJz52XJ+5BQttg4LT+nxO2u2Iix6Du6ydsuHD42pbUa9h2uufeDY8cAIC0hEl1tVR0eUj7/Z/ss/auqCyABuBzQ471W6k0ausFew9WMb8G3kSjbTS01Gva+iKPNDzbSIRR5O5OyyaSFmSWr/6BPIJRC3OCrCEo3SMPvUf/fAydR1dRQgdCDPx7N9eabtpm1SQ4uYMU+zc/hETlFqgs4ZAofIQscxr/3fV9ej5i3dutwB4wkvBUjR62bNNwzxHWMJSIwellw2cWewJ75mo1OYAeEb3HBMGumn8XdlZL41i9k7BuDJjbDwCEKx+siWmEWKZRv5Fp/1qWR1X5uL3Tw3h0EXRgxIP7wIheodc1oC+UMcgVO02kzIdlWZku12uZLRJZNSJxy/7P5zWayOsiw4I9yn37eHOHuQsRWZslSShG6lx3dca6FSH8lSiIjaenJFHSiZAYz/Jz0gJMIOkreNsHtnTzeL5CDZEXo+sBdKrCJBYKC8rhPdPva7kwPpTxMTs8DTatPap0CTkpJKM2tgqjn607uNQb+luteL9szoXYTV93C5LR8Ti5Q+5A== 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)(36860700004)(1800799015)(376005)(82310400017);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jun 2024 10:21:34.9314 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: aaf0e633-4225-47a4-8f45-08dc86db9bca 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: SJ1PEPF00002310.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6937 Document the sysfs interface 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 | 54 +++++++++++++++++++ 1 file changed, 54 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..9f987c6410da --- /dev/null +++ b/Documentation/ABI/testing/sysfs-platform-mellanox-pmc @@ -0,0 +1,54 @@ +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 + by writing 0 to the counter sysfs. + +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. Writing value 1 will + start all the counters in the block, and writing 0 will + stop all the counters together. + +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. + Writing 0 to the sysfs will clear the counter, writing any other + value is not allowed. + From patchwork Fri Jun 7 10:21:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shravan Ramani X-Patchwork-Id: 13689629 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2083.outbound.protection.outlook.com [40.107.92.83]) (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 F154515E5BA; Fri, 7 Jun 2024 10:21:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.92.83 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717755704; cv=fail; b=UDVoshxg2wD9/kkEYqL0s87iuDXZNlFwIcLEno/Ow9xyrlxL0dVH5UnVp8ms5EvYFPw88e/dUwotOq0MQdj8wnFu3x5mrT0Fo97qgCckXsPQ8SJ1Dsy9jhqqYc/OpFVjM4FtK9OdfP9t+uBMrmloOJdd0bbGlC1Z/wm54RCDmfs= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717755704; c=relaxed/simple; bh=FecWP5RUxvyJTVmjC2irhE5goHaYL7TxPSHQLNnlBrk=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=QGB7v+BshzP5dCTyusz7Okvx66z8K4FXLewA0GfzAAqT1HSl4XNw7jXq8Ri7H+QtfKo+/BjCqRdrgot90IszskbKczXxqrbI7RWStXvQHLtFWFZ4VHr/Ueu5HBW5B2zxx5w07CB+a90UrGEa9woRCEDzEnLrRN5rUN2pd9Buq1s= 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=qAPh+2K0; arc=fail smtp.client-ip=40.107.92.83 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="qAPh+2K0" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=g5yCWOiYRAXgbjhG2Z7hWhgF/tS7GQkCeO7cQZXcWyxcqtQEALyeJdT3CRcEtlbYod3hgYf1AOMABSPCxGVfAzREKIAumPzvXP4WIrtGXqNOwTHKjbvThUFL0YTqsB5rF79ZYrZ0UuIuFwKleO1kTpTA0JUfER983BO/p3Lubg5vSYOnIKwARXPpL585xgWj+61+wGplASsv+xppi8ErpgE9DwmapfST84GGRcB9N6zOirthm8YLogs3MNOXJyyECqUKPkBryR7S07zdyq7pehLOjETXzcRhm6+kE1afGvP02ehS01/gW3AU5SJ5l7I/y3oPNMirYle4FIVzzA9Y4w== 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=+vWifZaKks5NNiQvGDKLxRTtvi+9SIPMiKPts1PugAY=; b=iQEneBb2D59RRNz62VC4GQkRTiuzDNjpKOZP+YEjlB1fNX4fcIGfdj2aL9wzJERQzj2frvY+pW6NwZ5PySOp64ykpkF9Io9j+dfNwQf2JxWw0TixMLR29UGBchcJbNAQI2Bu11PE4059z8gsaFnHzWBfuGn6JeipnPwXRfkwh40gPdBdSmMdc9ZCeZWU0Ycz7/jx28mJN363Ct63uBM+0rbjTSUq3TQsnjJoOHTGXCgWAHDhg9dUGronuQgMTgVdcIo0b/fv1vouYwz8HAVrvIgHR2avluq8ssANE6J5+amscHrs4orVo/A782SB3/L+CTrCtQt0J/h10eugH1Emjw== 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=+vWifZaKks5NNiQvGDKLxRTtvi+9SIPMiKPts1PugAY=; b=qAPh+2K0nm4CXY2XUlnllNu8/L+hCuyxtaxEbdbddD7k2K7ntKKmk8ei3Z8ZzhgY/7RTHGqgs0r8CCaNvj/2R6qufh9i4WqZfixQ4poNNfiEVxSzoGVoSFTthtF3472/JUkz2O5hLA/EQ5uhtkB9ZYAJKPb2o9nslGrsD2DhKXwCeKftIOCig29KHc9z9Q88srZCcUsVeg5o+MS4x30HR8+hF3Pyl0Iw9q9Wd8H0FQg9+7+23DNGUZDlIjE9XDmIfHGwQCzf5WOibApgwDBIY5aMc0K1I1hGEda0/AFOeMZLn7SPoIU5rrKx/et9xb5MIQljAwFvG6mqOatTx04Ecw== Received: from BYAPR01CA0010.prod.exchangelabs.com (2603:10b6:a02:80::23) by DM4PR12MB6160.namprd12.prod.outlook.com (2603:10b6:8:a7::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.21; Fri, 7 Jun 2024 10:21:37 +0000 Received: from SJ1PEPF00002312.namprd03.prod.outlook.com (2603:10b6:a02:80:cafe::85) by BYAPR01CA0010.outlook.office365.com (2603:10b6:a02:80::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7656.20 via Frontend Transport; Fri, 7 Jun 2024 10:21:37 +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 SJ1PEPF00002312.mail.protection.outlook.com (10.167.242.166) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.15 via Frontend Transport; Fri, 7 Jun 2024 10:21:37 +0000 Received: from rnnvmail204.nvidia.com (10.129.68.6) 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; Fri, 7 Jun 2024 03:21:23 -0700 Received: from rnnvmail204.nvidia.com (10.129.68.6) 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; Fri, 7 Jun 2024 03:21:22 -0700 Received: from vdi.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server id 15.2.1544.4 via Frontend Transport; Fri, 7 Jun 2024 03:21:21 -0700 From: Shravan Kumar Ramani To: Hans de Goede , Ilpo Jarvinen , Vadim Pasternak , "David Thompson" CC: Shravan Kumar Ramani , , Subject: [PATCH v3 2/4] platform/mellanox: mlxbf-pmc: Add support for 64-bit counters and cycle count Date: Fri, 7 Jun 2024 06:21:12 -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: SJ1PEPF00002312:EE_|DM4PR12MB6160:EE_ X-MS-Office365-Filtering-Correlation-Id: 8575d039-77fa-4238-250e-08dc86db9d1e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|376005|82310400017|1800799015|36860700004; X-Microsoft-Antispam-Message-Info: 3whbo17LIvkeeVA3xyR2lbFie5662f2HBLwqlC65popVs3KwOB1yGysQX1E+iEIQ1e86i+NcsZt8FnE/Bsl7Ryqe7iTddeTSg5rMLQmFRWLhQW7yxQjMLQXUEKkQRpzKdOBdlSdVfVW5GPOPKVdUmOjACoc9uepkFLtrlnyDwIjFyqTw6U6999HztEm5QKmWs3FBhMDE8mZekK8OoOMueD6DIIVCvJ8Xu7706EhnDsflJjkP5rEkQEhkFVZqmL0GqofnetAuU7xbpCaYgleil2upv/lOhbM7MJ2dLrKqtLCzZJpPccbABr39QMri5fOenyoMe44Xul7Z6iNpBTSPe5tcqyL249lwSYri2BLY5JXKySpokCVt2GLQV/hlqmTwaju4/CZ2sZSGtD4F5EcXUHgvj+6QOPRrqq75gPUS0LmMGp+aiU7R+di178y17U/ZB9WIzveY/Tgyn6L6HobJLoQ/n/O5FpiURthQ/Cx4sFYpo9k4vRlC64Q0TlDYOLNH1LJ/VWllhouU1jLKdvgENfb3e5wl2myN8B9laGq6YZAS4rM96/cZCYNDq3jwIl7p9C59xEsfo/nmamYXwSBmGfVvgHOBHFdrs9cluqM4hfISGqvvmDYw6U3N0pya8n48EI23Zv6VI7EKjj5wXArPtbxhCRa0Pwpns7zGTWmFv41TMkC28feSrgog83Lvpag2GP8l8SVPD2j5C9W0eKsnWV0GmlBMReRGVxHCQaabo/SXPWWu9Yuym5qlLSOVyoYhQMoPQiEXf/vMgAJ9N0Xipr/aMMds42ruhGxFvED3euLvnVNfz8LYumLflZQIGsc8sqX5Y2+oLBqXQrsCriKYE/dzozSf9JP5QTtyFittXQ7KCaVuDSl6CDtGii3pw2GG1sued5FiAz9SGd1INXltpFBETbHZ2tVlYpVCMXuvIbcUKqKWJSgc93GjSHUOXo/oXXjUt6sxLeQs8u5Xd2qzUB8O1AQ0TZXWd3cjqU2Cx9gXg9IvWXD1QwoJ5yX899j88hVuz+Bhx10caW5Up2DaRGKNMcboNiMw/CzMoc00N8c0BmPSAxQzCbLw6Brlhq/DCJ6+8bvCc1mfFmlJxITjqil5o77i+FBIVGpTlcA5YKLvmODtA53MfdxTt97NDmuXvqI93HJFjxNuR7obEmhyl0cpUGVYNH6cJJIbEw9IZ7mz/XUrYZcKVmiEwlO9Uh0xGZgREfvY3k0VBMaaeBVb+f1tkCNJ7djv6AcZYDVekm52bw22FlhJd0zJGmxDZy1gh5o3lqLfd3/1DQFux8CR4En4bKW6aai1eYVVL0wdjP2gCU0oETheIe/GXnZAy8/NV88F5kVYMTzJFP2YRQYS8Cu64yNscpgtL90A1XPXVZXe4bVNOlixV6QfoDvv5A3NMbEkvjFvGyCBVoLUnGGD/g== 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)(376005)(82310400017)(1800799015)(36860700004);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jun 2024 10:21:37.1413 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8575d039-77fa-4238-250e-08dc86db9d1e 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: SJ1PEPF00002312.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6160 Add support for programming any counter to monitor the cycle count. This will allow the user to repurpose and dedicate any of the counters in the block to counting cycles. Since counting of cycles using 32-bit counters would result in frequent wraparounds, add the ability to combine 2 adjacent 32-bit counters to form 1 64-bit counter. The 64-bit value can be read via the same 2 counter sysfs which will each hold the lower and upper 32 bits. 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 Fri Jun 7 10:21:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shravan Ramani X-Patchwork-Id: 13689630 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2075.outbound.protection.outlook.com [40.107.220.75]) (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 A855F15DBC3; Fri, 7 Jun 2024 10:21:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.220.75 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717755705; cv=fail; b=tOFYNJBiroydAe3nWEiyJE6eIbckS68vdien/WdM8ZnYIyykEf2f3QH0cmI26pgfdy0qmNxVsSABJ4zHLyzmybqB78gxk6vlb4pp/BeUxd+QuRBDkeVUS4Mr4/CwgIr492KtbkZTtzY89i7VJ0VkcM+5iJcikGIanteZ7xCrHV0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717755705; c=relaxed/simple; bh=tu+l9oOPO1ViZIzn530t9nkb4u6RJMZaMufBUT+0eg0=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=tSbv5AoiZUwkUOFOOq8UeD4gMQPEgQrn0pd3aGG5uvQBG/5cYpWhC6VJXjrB/U4s/HQml76vHP5e+8pxBcUslF//OQ8x8zCOWXrFiccM9XJaqJwmROPtiVCAOIipMkzoS6JfVSPaUAkSMpGPJL7j0FOTeyrGz5xuVqanQ7PE4+A= 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=lZrFCVJJ; arc=fail smtp.client-ip=40.107.220.75 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="lZrFCVJJ" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C0e8E5O8d+1Ca2bDQEgnSqAYMFslt+hTSFP/5v/88xZxc4+3qHgL/27AK9bNsI5AG+q2yDbunkEMH+3+Gv/IT1r7AwjgGnwWrnpg1L8auXH/9mT9GNe/8abd5hxwAHeRmWwrpW5ZFVWpmgEZySTmdGvcsAurTJVe1++KF6mv9K7Ct2J6xAjpp0i9blVERY+OPlBA9mhXwcKU/U6jhITvIf1y75+JeK6WkaQaS8vRbJ3e/eaM4nW9iUJLlYOj3d354F3FRIfBnhmj71nb3z0b9D4lXcAEyGyl525sqWtUEmxuw+MAhfrZwN+1eXHlppG3N5op45M0vAOvsNfprtjP+Q== 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=XT/oSeNGjTkqQyDx0Xou/iLmRvXmXmvJqFw+YfT2L+HbvG1ulE4PWU8oV6fZ68FeQnCL2DFNmCOCUIoZnlRTttrs5sl5eSksXJw3KLDfZGv1zRCRId0p8fxxj8dMELyb4QEWmPQJvsmiSXUGb0oSAZ9BvXDklrS9tkrxH1aZL2kigxyBQj9SQYygrw6Vz1iiBefgi8Ro52haohVllG7hZr39fsSTRgBujGUa2NI5lO456exH8fWJL92zCj8T61MPk6kTyiI8KfmM8TlvPrTWwKXhkfOzQmcnlhccHfr4YBBQ5h3fp8rQtgUCXNM7ZzmuG+ckuqzYuW8AS6M/zIDPgQ== 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=k3G9hGj4HQSEaeMOnQ/xjz2Mzid1MG0kFCIbFwKAaOo=; b=lZrFCVJJ+UJC08hNNJkdLaEXInSlJFwVzVjrZuJIuvatnN5q8S/eJ6po+jk9SWPb58hfMV0MlqUCP/pJ23Dcextdbbnk+pC9bjI0dDzFTdcDPeE6h7KIjVgDJ0zA+8HZJ4gIMbig/MbfYcqqAotv5qxewtqOae3COEEA+lbFYYpswRS4EYAvBaIvOrdqclRq4RVJzdHizXWCNVwb0rora+npWDnVsSinvLK+5wTYDm8v0ULQPR+WvlUsGoVYYbTx5eBFuAVM4iLK3a/EMv9TMnnideCBmhHGN3FVQVBAWLB5i2ODN8r4dylxQS/z33xZrdGyQqqduMRI1zcD1XlWyg== Received: from BYAPR01CA0005.prod.exchangelabs.com (2603:10b6:a02:80::18) by IA0PR12MB7749.namprd12.prod.outlook.com (2603:10b6:208:432::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.34; Fri, 7 Jun 2024 10:21:39 +0000 Received: from SJ1PEPF00002312.namprd03.prod.outlook.com (2603:10b6:a02:80:cafe::ca) by BYAPR01CA0005.outlook.office365.com (2603:10b6:a02:80::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7656.20 via Frontend Transport; Fri, 7 Jun 2024 10:21:39 +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 SJ1PEPF00002312.mail.protection.outlook.com (10.167.242.166) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.15 via Frontend Transport; Fri, 7 Jun 2024 10:21:39 +0000 Received: from rnnvmail204.nvidia.com (10.129.68.6) 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; Fri, 7 Jun 2024 03:21:25 -0700 Received: from rnnvmail204.nvidia.com (10.129.68.6) 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; Fri, 7 Jun 2024 03:21:24 -0700 Received: from vdi.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server id 15.2.1544.4 via Frontend Transport; Fri, 7 Jun 2024 03:21:23 -0700 From: Shravan Kumar Ramani To: Hans de Goede , Ilpo Jarvinen , Vadim Pasternak , "David Thompson" CC: Shravan Kumar Ramani , , Subject: [PATCH v3 3/4] platform/mellanox: mlxbf-pmc: Add support for clock_measure performance block Date: Fri, 7 Jun 2024 06:21:13 -0400 Message-ID: <7f90c24049918ba877d6c576cfe995707d052bb9.1717755404.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: SJ1PEPF00002312:EE_|IA0PR12MB7749:EE_ X-MS-Office365-Filtering-Correlation-Id: 8db6d8e9-f077-4ed8-3f29-08dc86db9e3c 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: U+PyqktZZ+Cq/w3vs6VKHnnJ2e0TkwqjWmkOEllGEfWy+R5eo+4DJ/VuU2wZ7OmMm4Cu5rdDUxxwvPRPSItE6yCcrzil4XDPjlkcgCvJUdEGo0gr0laDbHCnloWokd6K2NWY7HfvTEfKcm60YbGNqwlr97O1lODSRCUfU1PBNiEnD6/V5DtJPDi8UGVYL9NeXonUS22KPHUcVxZ6oStAvvOYlPimh7uU7j2u7ByQJ3Gw/K2L8L+yRTQJyj5Q2VyJFPR+ELH7DpmVhcZR653U0+t2dy8ySktlhCCkryLBhclXRFHBj56MB04btdzjxU/FK8keeKG2/+/U3tj8NoJkEof4G8cFs0cKZ1XW40qaV9oiEfDULnKzmjIMZEThrC0p8Bu/5HIXHqpiuY8HwD2IFMSkQCHF3o9n56BmVRJEPidPKV/NMSg4KzPHbXwXv9KU75vYcBtEzQCNBWFTgd8sgTlmrS9hwyIWgX0Mx4pqSGs0IEavJoJC1EOLVYQDdQoGRMlf3QoAFj/AVWDRx9OfamCtkYSn1fcJEhZ0oKrJAEHguLKEp59BYG6QN8bxvUPVckjd/jjED1kFKj5ips3gNufK0XvnykMYfbqjg2sVRSesvUZdRiSMPCD5+PvlpFzAqhsTzMNvCFgDQYLSw8EDwiFkMwqvXkHcRSHKJWBNIvX/6Ut1CNhlt+lE6xzWgYe2dJ74Xy/hINt7N9TmpP/XNNxh4M3PGdcnNupKvJI9wI8zrJu4rEpc971CG5mgQhNtRMVpi7XeCdGDlpPZx9hRBOTGjtV3nVgGT9+nRk+0lscoFzRiG5Dmhw6N56i8pqF77d5HiHX8Q5Ea/z94ivyJfwZwLvkv14Dh8vfw2ecGY4E46c8jWHDc75NL8LIX49sF+xdtImeI1YCd4DjbRV2q1diZtlIBo7U+6L6VRjTCTPhVsXVKD/TlegITZcz19rx0sc+TeHhCB5B+mDqJPwUabh2ncHoMnY2Nez62W8e2LHjD2GthcglQCLuMopahPWjrzjhjMIX7rB/6NsfFsgzZtJH+oIwqtLpnTKf+QEtE4oPaDEdIN9jfVIuHgQliYY7YfoXdd8AEPPtycsJhTrZPp1KOvBaiSPehZGjSDYsKIdqnwwTxYiTes08l3fnjYxbm1/HCpTATwKn1SYkYvsMPB7y49fufwny2h+C9m3kR2qoFqaSVTs4BKZvJZ2vIA6TH90DUr7/lv//nJhfZadOA/Ti2g/zXukuhGDJq7nCHjZW4+g5fkQddv0WCURiJCyWytCXE7dQF1Xnzd8PEkmQzKgeVMPUaVHQd5rPA9RVF+FAY2cqBtnr50Ln3STFwUMguXLKDswq5FmJasRp1/gmUW4WDY33+yizDvOrEf1LbH7dTRbl9ehWOq+iQWtV2ahRv/PwPg7k3bZ4cOwkersXd1w== 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)(36860700004)(1800799015);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jun 2024 10:21:39.0163 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8db6d8e9-f077-4ed8-3f29-08dc86db9e3c 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: SJ1PEPF00002312.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7749 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 Fri Jun 7 10:21:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shravan Ramani X-Patchwork-Id: 13689631 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2078.outbound.protection.outlook.com [40.107.94.78]) (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 1AC3C15DBC6; Fri, 7 Jun 2024 10:21:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.94.78 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717755705; cv=fail; b=GwKQ8tgjspZjhRw4jNsAXD99l6ZhNOIC9+/UvNjzuhLIk+RNepjz4joHN5ILAEuuE5/NkPbUGYFgWZ/YH4JaepHsV4OH5hJOdQHtRgWa8YJdRIMiDap9mnVTGEMi3uTBmyuFzJF/t/Wa/0GfWAfvvcXh8VBQEu5zRXIYK2gznWM= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1717755705; c=relaxed/simple; bh=b3lmgfBq4u/LoZjxNrBCpbdjlq4OLj1eqPANP95GjQM=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=LBX5PS5nAMkOWJpGVYlMgbT/Dlijn2rVu9p2Tjm3qgaI1qmyqXPt6ECNvy5CvHJPhzMXahroCNa38W+kZyFpiO4BQtXBAbIIK84Sjo+gTQZKCHAqpDjZkumKx6Xuiq826XfclDhcgsHAWtHLWBAbor6S4FerijAHKFq5Af689Vo= 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=D6qFGgSm; arc=fail smtp.client-ip=40.107.94.78 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="D6qFGgSm" ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=G1OliMqBJmE8aj1UsHYxUKfZ+7WR4r7TGN9GUsc6YS0/9X5zgChpMCkDw29/9phqFzLlQMzjdKQyyubTvRfFaa6Ad1niV1I1L3CowbTmQ8oKuLCEOCt76k+/2/OcmO3/xrAO4+MUtFB4g2axc1G/ctcEQrMELJrCqRXG5H3aEz1RG49Ux8xuL6BA7vIyii/e6FSHc3aAzHt62fbMhHx+SQzKpiWYRfQ7XgPHVY1yeKG+oK9wkJR/A9aKOD19UQr/RmWOK8n85tpu4sVaQGtjSVMIWUGlSZNu15zdEUM9Gcf5JZo9AKOmrvzV+EcS3x7nnIvuUHgsN/do67rLQ/ZN6g== 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=LhvWfOfnQIsyGM2CNER4k273Un+L1stFJMN9Kzn25M4=; b=RIMebB8OqdtazDtMElyn+TP0ByfYgPn4/hG4CIhlAFNs+bDPc9PsYYMYetwRZAw9ID/3eWtbvJav2T1UJppEX475Em9LWDUZGENPWZ3y+RmRYGq3kaD7gOngm5wBD9l9f7q78UD7gzR7ayYA98o4zaRi4M0V9Vj5uaAYtEaPixwVd96TsI/Da+wmnJ6tYH57nPIRJ3eLSx0bnEUv1Rzs7hDxnJLZS3GeMKwoN6FDpu5KhK0e0DQJ6CXy9NCaC7bJaGe97829agmbUkVP6GxbGXU2pgyvoiZwc6G8U6DnFz6mXdglcrMl+TWSX7b2i3KKNWH8gnfSbqMWBHcWobuNTg== 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=LhvWfOfnQIsyGM2CNER4k273Un+L1stFJMN9Kzn25M4=; b=D6qFGgSmQFD0mbIAPfoX/0EWaoJUjV50vdSL6iXV3N6D8MV8pdDd9UGyHe4UE+odNmwOQi/r46BAiJkb+wXkJv2Hl8IBT77/5VJ+pEht281oENJbFfDhJB5vZH9JgAtKqZ0U1wsvhHNo8b44ixXKDJbSxtEQzPtaIvr0zyeV0JE76qUpocKIOhuy8zgDbQdfOwee5KRLktzR/Yx7DWZBbWqs3ftL8TTb5V1vo/QXtePOLTvyMhUsmwguLgMoQiT26b+/0JpCPNneeuMyU30SV1QIFIil9S5p1wIKYq2L0O1SxQSgSgu89IYAW+CkSC6u0mT1H6O7yUEzTWkZF3GD/w== Received: from BYAPR07CA0054.namprd07.prod.outlook.com (2603:10b6:a03:60::31) by PH7PR12MB6490.namprd12.prod.outlook.com (2603:10b6:510:1f5::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.22; Fri, 7 Jun 2024 10:21:41 +0000 Received: from SJ1PEPF00002310.namprd03.prod.outlook.com (2603:10b6:a03:60:cafe::23) by BYAPR07CA0054.outlook.office365.com (2603:10b6:a03:60::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7656.21 via Frontend Transport; Fri, 7 Jun 2024 10:21:41 +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 SJ1PEPF00002310.mail.protection.outlook.com (10.167.242.164) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.15 via Frontend Transport; Fri, 7 Jun 2024 10:21:41 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) 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; Fri, 7 Jun 2024 03:21:27 -0700 Received: from rnnvmail204.nvidia.com (10.129.68.6) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Fri, 7 Jun 2024 03:21:26 -0700 Received: from vdi.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.6) with Microsoft SMTP Server id 15.2.1544.4 via Frontend Transport; Fri, 7 Jun 2024 03:21:25 -0700 From: Shravan Kumar Ramani To: Hans de Goede , Ilpo Jarvinen , Vadim Pasternak , "David Thompson" CC: Shravan Kumar Ramani , , Subject: [PATCH v3 4/4] Documentation/ABI: Add new sysfs fields to sysfs-platform-mellanox-pmc Date: Fri, 7 Jun 2024 06:21:14 -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: SJ1PEPF00002310:EE_|PH7PR12MB6490:EE_ X-MS-Office365-Filtering-Correlation-Id: 58ca0e20-a69d-41e4-52d0-08dc86db9f97 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: hmB7RQlv4+BVjcW4sMVTS3Ro7L0nPQsfM1JD8q7PhTRRga/SOAVzj+yjQ43z9iZ9xwZJSnhZNTOv1HS1vuYA1cJdjIjgyD0HDdWjN+9u8IAS4XqNUJjVM9Koncmh6uKkVHhCF3cVdm4wFFmJYLgB5PAC0aHetW1rZ6KIiTDEXWATLq0ZTFPEazWqO6n9rS3y4C/QyFGY8ZIxNl5mp9kkZvVooMpG2aoTITnDLLjhhx5eCLNDXQYG4NpPEohSaTBZUEkiU9aLw0t6qczLCHiKAPYqLk0bzrBI2gFy0YQPUGwSdFTcIdat9RytS/1W9peRTgFKYuyhZj4RjCmOqv3fTZDT2eBte6bTu62wQ6YJTxhKRAwcuZOYBKLJr1uURHmqr1Y/b+U4M6K9tnwBOG+uUUerMlD/WOdBcK9ZKPaw9Pv9V3p5XR28y2Ouv3cA4z7umI3ofMR48+wnZ7ee40pbtDnik3aHDGDWP0TYk919ChgNXowPO2psBS97TN0kvba+yOF+aS6mxpay/Du6lN9ZguF+gD3dod73B1vnffgqxBVsr+sBY6LmNDtuqswxFhz1Nx0l5XC0Hq6YoJEHeZO82T9yIDqeF+aGB7k/wzUnxQvY3KOhN15DN/+Z9s4I3Pey1qC/TFPgJIXkjWYBvXrvhll6G5dlWlTu5JH5kzarLxqaQkVzSwudxS76L3gVs0kgCrO1PmFkPUYIkd4k3RzcAg3j2fDjkWaOcMD1bC/pvzOxQmHVpvl9ineaLmeE5cmLg1ZcVXfT3RvuG1yyi2N9v9AGdH2qNM852Jh9+GgBhS6jR6VimOrI+Gr8l3bjUUFiN/RbXcrpMRtzhmjQ/nP6VISNpk/k0JXaG7wsHkgy8BO6HKMEIyPnUMTnPlPKByrMfilKDYTMZP/YTl35NcTOX22HxzLgDjhebgCf0bqn7YOvxbE9qkW4G/ebIX5SsO84nsQcBXq2RyzIL9+SRmXqFNq5qOmCf68YJ28s2TeDZhK2c35HS/vnC/AzWrCd6qTMJ9BTUurE0sp/7AgGIMoVd8lnTwEEbQfnozo32L2vSAzC9KBeeR+zrCbJWydvPmEqc+NDLB2By1iojPCfpZ+DAV+fRFvMToMosgqiol6242hKrLhDuECy3KhejvJyNUCRrmtcUQWKsTQWNMfCNDR0HJqjXNLY9tpST9YSsBl0qAu+y+vxgxDsQTHTE+n02y09gW3lTadadfjJiqfEhEH4HEn6C1huxEbLm+e6bgH6vYAc6OWdKLI6f0B7OmodtjLt2bACgLsftNDZm1eltYbGaXon9rG6qd7jeiNAyZo6uAmg6UG+QBpgtYHd6TXZyjh+2pf/rr8z6bxnFf1kOyqIljmU4AOkJ688EhipjZTDiH2oruvmHXsXGA3zYOqClA/0GiA1GyBcZ+3XvcwYLHQ0+g== 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: 07 Jun 2024 10:21:41.2753 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 58ca0e20-a69d-41e4-52d0-08dc86db9f97 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: SJ1PEPF00002310.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6490 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 | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Documentation/ABI/testing/sysfs-platform-mellanox-pmc b/Documentation/ABI/testing/sysfs-platform-mellanox-pmc index 9f987c6410da..ee03d066c0d9 100644 --- a/Documentation/ABI/testing/sysfs-platform-mellanox-pmc +++ b/Documentation/ABI/testing/sysfs-platform-mellanox-pmc @@ -52,3 +52,26 @@ Description: Writing 0 to the sysfs will clear the counter, writing any other value is not allowed. +What: /sys/bus/platform/devices//hwmon/hwmonX//count_clock +Date: May 2024 +KernelVersion: 6.10 +Contact: "Shravan Kumar Ramani " +Description: + Use a counter for counting cycles. This is used to repurpose/dedicate + any of the counters in the block to counting cycles. Each counter is + represented by a bit (bit 0 for counter0, bit1 for counter1 and so on) + and setting the corresponding bit will reserve that specific counter + for counting cycles and override the event setting. + +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. Each even counter + is represented by a bit and setting the bit will join the corresponding + even counter with the next (odd) counter. The full 64-bit value can be + accessed using the same 2 counter and counter sysfs, with each + of them holding the lower and upper 32 bits respectively. +