From patchwork Tue Jan 31 08:20:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shravan Kumar Ramani X-Patchwork-Id: 1734598 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256 header.s=selector2 header.b=dQGv6e5M; dkim-atps=neutral Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4P5dLV2Z9Vz23gY for ; Tue, 31 Jan 2023 19:21:37 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1pMltK-00074d-6I; Tue, 31 Jan 2023 08:21:22 +0000 Received: from mail-co1nam11on2077.outbound.protection.outlook.com ([40.107.220.77] helo=NAM11-CO1-obe.outbound.protection.outlook.com) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1pMltH-00074P-W6 for kernel-team@lists.ubuntu.com; Tue, 31 Jan 2023 08:21:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=go4cat4ERNzuR7AKNK9cFefCPoyfPlOex3QqoDpWd/oZMqt9bphJgh+YS1IRQXMuAZAcD0nFcUwCEuucHExWwlJgF6+Qa8udeKCo75vH3jJXKDyJJ4krj5+4d5Y0QxECUZgVy6wuFPO7JfxzhZrek/FH7F87evWWTTBoV5kBfhGLJcE+uO+jmFzoNJS1fo4yvfL2fgmXTnNHtfS6YK7aEKlGDMchGeLAYkMT8K/tBuY/i7OxYZWXk4HoqRRnm3EcNjSRteRZcWxNKEx+ffyuDHKJWE+P4xfgnnBMS9fws1UF2g1xvqedTWcX5iOEPOWzgTBla7k3O05OSa8TUpU0uQ== 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=yt05eD4Lg3oTLfl2o7h1RC1PKgno3MvS/nuUbflvXiw=; b=N8yazomj2ULjIpezQ3UtapezrB4nMDTy2XfwYNXg2VShYaAKMJS4BAHYJbZ4DkI/ima8js9oL/pudmtc56+4vZUIKnxEVDM78C+XlY58MSUbrO/Di+xWMxfbnea3DCGtpd6hC4v0+2fKMdgsLADxveeqaz7Iro9Z4RZoi3N0eDLpygTy/thDUt0h/26pdh+kDZ+wlFEMjU61NpYuHUL4Pb8LW/HIaaDGdG5hZ8Fnk1uK20dZJ3LlDfxIA3EKk5eOm6l9NS0nu/KABH9mP2MLKqyAxrP0EYGsQ1U1Rzu0/4xgKOtcE7TGxlzUPOwPWW9lUlrXpv3oFZo5UnsCEZdXjQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.232) smtp.rcpttodomain=lists.ubuntu.com smtp.mailfrom=mellanox.com; dmarc=fail (p=reject sp=reject pct=100) action=oreject header.from=nvidia.com; dkim=none (message not signed); arc=none 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=yt05eD4Lg3oTLfl2o7h1RC1PKgno3MvS/nuUbflvXiw=; b=dQGv6e5MkZQw2ctNBgozl9xjtQmwfywHaY+9W+quFLlfXyycBYiJ6v38gd6RCGkDABNU8Wyf+O0Jwsc7ysgsDBmAoZxY7kkCWooE52OKr8Ggr61kv3pCnzNB9DWXw12nT8O0pnnuYwIV+ykH6TSertpff0UP/pWBNyiu52KyniYw9XerdR1jryGy/RjoeBpX3dXCKUonvaJAhOhpqIK1ZoTaN+jfIZ2iBgYd2GaoweOTMGVRBlSXqIkfu0c0jhy+vCpx+inO8664tKq4h2OrUPqUQ9cAGGRUCcqZFAvf5gMEpKtC3pyawnugNpZcC3EWAvAaBO8S5EQgV6zv5NuYRg== Received: from DS7PR03CA0079.namprd03.prod.outlook.com (2603:10b6:5:3bb::24) by MN2PR12MB4301.namprd12.prod.outlook.com (2603:10b6:208:1d4::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.38; Tue, 31 Jan 2023 08:21:16 +0000 Received: from DS1PEPF0000E64A.namprd02.prod.outlook.com (2603:10b6:5:3bb:cafe::3b) by DS7PR03CA0079.outlook.office365.com (2603:10b6:5:3bb::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.38 via Frontend Transport; Tue, 31 Jan 2023 08:21:16 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.232) smtp.mailfrom=mellanox.com; dkim=none (message not signed) header.d=none;dmarc=fail action=oreject header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of mellanox.com designates 216.228.118.232 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.232; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.232) by DS1PEPF0000E64A.mail.protection.outlook.com (10.167.18.40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.17 via Frontend Transport; Tue, 31 Jan 2023 08:21:16 +0000 Received: from drhqmail201.nvidia.com (10.126.190.180) by mail.nvidia.com (10.127.129.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Tue, 31 Jan 2023 00:21:07 -0800 Received: from drhqmail201.nvidia.com (10.126.190.180) by drhqmail201.nvidia.com (10.126.190.180) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Tue, 31 Jan 2023 00:21:07 -0800 Received: from mtl123.mtl.labs.mlnx (10.127.8.10) by mail.nvidia.com (10.126.190.180) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36 via Frontend Transport; Tue, 31 Jan 2023 00:21:07 -0800 Received: from mtbu-labmailer.labs.mlnx ([10.15.2.12]) by mtl123.mtl.labs.mlnx (8.14.4/8.14.4) with ESMTP id 30V8L4Rl019942; Tue, 31 Jan 2023 10:21:05 +0200 Received: from bu-vnc02.mtbu.labs.mlnx (bu-vnc02.mtbu.labs.mlnx [10.15.2.65]) by mtbu-labmailer.labs.mlnx (8.14.4/8.14.4) with ESMTP id 30V8L4rb029391; Tue, 31 Jan 2023 03:21:04 -0500 Received: (from shravankr@localhost) by bu-vnc02.mtbu.labs.mlnx (8.14.7/8.13.8/Submit) id 30V8L4cS013300; Tue, 31 Jan 2023 03:21:04 -0500 From: Shravan Kumar Ramani To: Subject: [SRU][F/J:linux-bluefield][PATCH v1 1/1] UBUNTU: SAUCE: mlxbf-pmc: Bug fix for BlueField-3 counter offsets Date: Tue, 31 Jan 2023 03:20:57 -0500 Message-ID: X-Mailer: git-send-email 2.30.1 In-Reply-To: References: MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS1PEPF0000E64A:EE_|MN2PR12MB4301:EE_ X-MS-Office365-Filtering-Correlation-Id: 2e76f0ad-773b-4a37-705e-08db03641f69 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PiebfyMto2/wYzkU4IBOIpYbHR32lmHCY/SkV74fgBJpubX234Xfe4awFIf0OClO2/AGRMKcDvqow7JaT2W1fqeKAinD97WzSWyiZslMabAU7lupXWzLsnCHLDbPW5FK2AnnkODKg8HNLXoNMpZ+nFKNYnu55Hz/sKp/NebeBd6V36H5ugdsA630iMwHS4X0/cxmZ/5NtCMKbqA7Q+MesaNqzSWlWTrrQc2MrQ3lawh51Y3rG7VegIi1sirOtLbNnSX4b7EMv/IMpIcERnkLGiNRUWMflJnlmID9med+B+bBFroXIprwX48n7CzlWf1xM70ww0FtNZK5bFvPyc+w6K3BL5Gk/vmb/CG3u8jj67a7XuVeON9WTBUpxm9HYzYXMP+p9AcwpiLIBLIs8z9CR0d0RcU9ZkVbW9Qm+rPI1uDGA1EoVqO9U0rmv1CsPkYYZzKT9g7ICzJwRlaz3BrgmAHjsuM/lSriKM81qWxbqmXEgntXl15nrTUJggazpWdN9KZ7YQ281oNt9x85q7QLlXDfl6Y3ePNCmP8og9fRy+IOg4sgcHulNUBtPs8tAGY8q+GZq6+DyZVzVMTww/BNINUGNLJvwPhVAT9aqmOo2pbSvYjdgZbzKwGv0sSFZizh7i2lvKDRGyn2pe72mTRPeHe6OIwRf9yGti5nQGxnVCw5MRkd2ckMttzADiCAR8Du+5LOB99oZxLV8JZ4LXd3fd620/2YZ3fcXOciTYRC46haAgW1X1uVQn+AnJ2kKynaqG6WCiwX06CQsQVBLKUkwdd6AAOYZhmdwm4C6YLJzxQ= X-Forefront-Antispam-Report: CIP:216.228.118.232; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc7edge1.nvidia.com; CAT:NONE; SFS:(13230025)(4636009)(136003)(376002)(396003)(39860400002)(346002)(451199018)(46966006)(36840700001)(40470700004)(83170400001)(356005)(7636003)(82740400003)(36860700001)(36756003)(70586007)(41300700001)(8936002)(5660300002)(42186006)(316002)(70206006)(6916009)(4326008)(8676002)(82310400005)(40460700003)(2906002)(40480700001)(42882007)(336012)(83380400001)(2616005)(47076005)(478600001)(186003)(26005)(966005)(107886003)(6666004); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jan 2023 08:21:16.0267 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2e76f0ad-773b-4a37-705e-08db03641f69 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.118.232]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DS1PEPF0000E64A.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4301 X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Shravan Kumar Ramani Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" BugLink: https://bugs.launchpad.net/bugs/2004235 The performance counter modules inside each HW block are not identical and are dependent on the number of counters present in each case. Hence the offsets for the control and data regs should be calculated accordingly. Signed-off-by: Shravan Kumar Ramani --- drivers/platform/mellanox/mlxbf-pmc.c | 12 +++++++----- drivers/platform/mellanox/mlxbf-pmc.h | 4 ++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/platform/mellanox/mlxbf-pmc.c b/drivers/platform/mellanox/mlxbf-pmc.c index 285b7433eeb1..9be5a2d68fd2 100644 --- a/drivers/platform/mellanox/mlxbf-pmc.c +++ b/drivers/platform/mellanox/mlxbf-pmc.c @@ -427,7 +427,8 @@ int mlxbf_clear_crspace_counter(int blk_num, uint32_t cnt_num) { void *addr; - addr = pmc->block[blk_num].mmio_base + MLXBF_CRSPACE_PERFMON_VAL0 + + addr = pmc->block[blk_num].mmio_base + + MLXBF_CRSPACE_PERFMON_VAL0(pmc->block[blk_num].counters) + (cnt_num * 4); return mlxbf_pmc_writel(0x0, addr); @@ -532,7 +533,8 @@ int mlxbf_read_crspace_counter(int blk_num, uint32_t cnt_num, uint64_t *result) int status = 0; status = mlxbf_pmc_readl(&value, pmc->block[blk_num].mmio_base + - MLXBF_CRSPACE_PERFMON_VAL0 + (cnt_num * 4)); + MLXBF_CRSPACE_PERFMON_VAL0(pmc->block[blk_num].counters) + + (cnt_num * 4)); if (status) return status; @@ -935,7 +937,7 @@ static ssize_t mlxbf_show_counter_state(struct kobject *ko, if (pmc->block[blk_num].type == MLXBF_PERFTYPE_CRSPACE) { err = mlxbf_pmc_readl(&word, pmc->block[blk_num].mmio_base + - MLXBF_CRSPACE_PERFMON_CTL); + MLXBF_CRSPACE_PERFMON_CTL(pmc->block[blk_num].counters)); if (err) return -EINVAL; value = FIELD_GET(MLXBF_CRSPACE_PERFMON_EN, word); @@ -967,7 +969,7 @@ static ssize_t mlxbf_enable_counters(struct kobject *ko, return err; if (pmc->block[blk_num].type == MLXBF_PERFTYPE_CRSPACE) { err = mlxbf_pmc_readl(&word, pmc->block[blk_num].mmio_base + - MLXBF_CRSPACE_PERFMON_CTL); + MLXBF_CRSPACE_PERFMON_CTL(pmc->block[blk_num].counters)); if (err) return -EINVAL; word &= ~MLXBF_CRSPACE_PERFMON_EN; @@ -975,7 +977,7 @@ static ssize_t mlxbf_enable_counters(struct kobject *ko, if (en) word |= FIELD_PREP(MLXBF_CRSPACE_PERFMON_CLR, 1); mlxbf_pmc_writel(word, pmc->block[blk_num].mmio_base + - MLXBF_CRSPACE_PERFMON_CTL); + MLXBF_CRSPACE_PERFMON_CTL(pmc->block[blk_num].counters)); } else { if (en == 0) { err = mlxbf_config_l3_counters(blk_num, false, false); diff --git a/drivers/platform/mellanox/mlxbf-pmc.h b/drivers/platform/mellanox/mlxbf-pmc.h index fe251661619d..2ee7efc3b4ea 100644 --- a/drivers/platform/mellanox/mlxbf-pmc.h +++ b/drivers/platform/mellanox/mlxbf-pmc.h @@ -152,10 +152,10 @@ struct mlxbf_pmc_context { #define MLXBF_CRSPACE_PERFMON_REG0 0x0 #define MLXBF_CRSPACE_PERFSEL0 GENMASK(23, 16) #define MLXBF_CRSPACE_PERFSEL1 GENMASK(7, 0) -#define MLXBF_CRSPACE_PERFMON_CTL 0x40 +#define MLXBF_CRSPACE_PERFMON_CTL(n) (n * 2) #define MLXBF_CRSPACE_PERFMON_EN BIT(30) #define MLXBF_CRSPACE_PERFMON_CLR BIT(28) -#define MLXBF_CRSPACE_PERFMON_VAL0 0x4c +#define MLXBF_CRSPACE_PERFMON_VAL0(n) (MLXBF_CRSPACE_PERFMON_CTL(n) + 0xc) struct mlxbf_pmc_events { uint32_t evt_num;