From patchwork Thu Mar 30 18:42:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Asmaa Mnebhi X-Patchwork-Id: 1763407 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=MnSJv02Z; 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 4PnXNp42m7z1yYr for ; Fri, 31 Mar 2023 05:43:06 +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 1phxEh-0006cO-T5; Thu, 30 Mar 2023 18:42:59 +0000 Received: from mail-bn8nam11on2041.outbound.protection.outlook.com ([40.107.236.41] helo=NAM11-BN8-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 1phxEd-0006U2-LK for kernel-team@lists.ubuntu.com; Thu, 30 Mar 2023 18:42:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BwGvUA4rBHlGLfmXiDz8YDPqF7GkSjifCJAazFvQRl+s5hFQz508mtKJEtfJk9QCLTOC6QLMXwjx12VlaE9a42KCVj1Z6arnBq9UvnSsc+Aml0zXEBXJ69xXavpD96Oq++M7B6fJlVIf0+1rsVvtNxStRlPqore0yUYkM453lmY71ZkyVkATfV8pyPpgHlP60VsEKmXKyWzdf/khyLx7hbVn/vUZD6zaRSf04HcUXG+njkjwJ93HrKLsWRs4xQCqBem8QjEf3eeihe9u7Nx4zdD5KZP32+fcndCSPNbvKAhssVDZ7DCWWuczuaMs44tqGXgYEEE/RrinKHXLS7/StQ== 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=N4csP6y9CLDkkVXgYbCAMVCGf8FPMs3B4wPCHvD3wo8=; b=Lhi4GDFgQ8fhkxcD+F/2WE7pJjB9CrYqNiJnYbOqV0FXmHZh7FZvMna7vXLUj7bWEDD/c5uBHk109Ylr5ViIuS2CdTBju73q7B908BTWk9RZlWufggzTe4KoRrBYC+w8RrLHEoRZgDtw6Ua6oCQTaRgeChMMDIkmdUlxeB5I+8x/muSwuzLq804l8LNxKpd30Sqx1Zqs6VtKkDyS3zOEqR6H0g+GX9G059DxvRw5+6z3UoCFQxsn+J2+3zd/iHj+3N/SraesCgmrgA11kP0SH66reNDsWtANl8c1utNnzHD9GG5OmF5LntQXsA2Mfd/ZJ4orx31//7uA96wIfp9k8w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.118.233) smtp.rcpttodomain=lists.ubuntu.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 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=N4csP6y9CLDkkVXgYbCAMVCGf8FPMs3B4wPCHvD3wo8=; b=MnSJv02Z3BvDSxHXL2swPa7ixn1FPfG1k8F7kb1otL89cKndsRjTF31L0PtKlp/lm0LlS+VFJRIDsGqsB5RYm3WU7tWTBS1FPN1npDzQ36AZCcx4AF1ja5cOn5YoodA7aWQH+Zu9nxeWclUxS6+CEOvtbuNo13gJ6P9yVTXc/q/Jh4/hbBZBg3yiOyuZ6P7XEcvBFqlyfuaJLY8gmx10WqFnlt+N/I8Vh8gBOrGo3wFXdWCRQZYlHIo4qvjW3k2rjAVHRGKVdfmvrB//CPcbg6LBp5cJkdNPYs34lGWazm+1t+2IQ6xd2ZASzkrmEXpZmulW/3VcS4DlM87bbuxGxg== Received: from DM6PR06CA0093.namprd06.prod.outlook.com (2603:10b6:5:336::26) by PH0PR12MB8126.namprd12.prod.outlook.com (2603:10b6:510:299::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Thu, 30 Mar 2023 18:42:51 +0000 Received: from DM6NAM11FT036.eop-nam11.prod.protection.outlook.com (2603:10b6:5:336:cafe::8c) by DM6PR06CA0093.outlook.office365.com (2603:10b6:5:336::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22 via Frontend Transport; Thu, 30 Mar 2023 18:42:50 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.233) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.118.233 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.233; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.233) by DM6NAM11FT036.mail.protection.outlook.com (10.13.172.64) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.20 via Frontend Transport; Thu, 30 Mar 2023 18:42:50 +0000 Received: from drhqmail201.nvidia.com (10.126.190.180) by mail.nvidia.com (10.127.129.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.5; Thu, 30 Mar 2023 11:42:38 -0700 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.37; Thu, 30 Mar 2023 11:42:38 -0700 Received: from vdi.nvidia.com (10.127.8.14) by mail.nvidia.com (10.126.190.180) with Microsoft SMTP Server id 15.2.986.37 via Frontend Transport; Thu, 30 Mar 2023 11:42:38 -0700 From: Asmaa Mnebhi To: Subject: [SRU][F/J:linux-bluefield][PATCH v1 1/1] UBUNTU: SAUCE: mlxbf-bootctl: support SMC call for setting ARM boot state Date: Thu, 30 Mar 2023 14:42:33 -0400 Message-ID: <20230330184233.25866-2-asmaa@nvidia.com> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20230330184233.25866-1-asmaa@nvidia.com> References: <20230330184233.25866-1-asmaa@nvidia.com> MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6NAM11FT036:EE_|PH0PR12MB8126:EE_ X-MS-Office365-Filtering-Correlation-Id: 5b017497-35e6-42dd-4c7e-08db314e9099 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PG0fmL0scQIkMDXYRz//RpUUbvoTRy/bApUWouSCGkhNKFd7qBAu74ZRJCn5fFSvj1cyVSfMFcM3cAyZDoTG5dwJohVZrQvH2X5qbIaNd0LohNxUWurDaS1fzBmrAJ+0vr5JO1zikpm7cpYK/2TdWfb2597iTIimxbIoKyu3jQU4/Ua+AtMcl6bdA0FxduNtdTxqzasOBKipgYF5wJkbMftCRWEbQ8q+kJoo3UAfqnaAfBVafHbPPUoqgoQwcxIGJYs2jFgWFRuhRRuY43DlJLfUu3H3JYjf1lZs3m1IkajiAltKDjyi1zJjidMulx4noXsUXR12aKg6Yb0gZu2cbkFd7zYgWP2hCgaYpeNOGKCbWR+IZw+RO+gcx+75FJW2X3yONSV0n6UcUG49yi1hQdEEy1mLlb5mrn8jqGDiMuyoLaQEBryeNKOouX+++D0IcOH5Z+IdRqDjZivqfH9DlAMmgRgVGtMmJjArxJFOaVmtWRRFGs4xii76a1Rjsom8pmxaBJj103CuXl0fPrX8osvy0XOF6ASHWCEgD+t0eVuuJcZ/dguovAV0YgpNyPcVfZ1Vvt1i21XlccXmB8R4WTFimoeuZl9gph60IsAYVbJbGYgKTtXbId2iBIua1KSXnK9S6Prfs5M/2P5luWMNvEha7pixBDR+YnZNC/+dAz5wFEzyGsOO2PYspvylod7BH1NOyRoDwPCslyzbjh1RzcTY3mvMndUSD9UaYL0qhdePYQLYf9dO6lnUHzUhyYCvxGGewGPmIsSwDWgkmEi5/WvN9P0iD+Ezf8wH6Qx0rlhzdPl4uyvEt8vJ5Ok022wABHo4NClZ+k4b0KOdPmRcaA== X-Forefront-Antispam-Report: CIP:216.228.118.233; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc7edge2.nvidia.com; CAT:NONE; SFS:(13230028)(4636009)(396003)(136003)(346002)(376002)(39860400002)(451199021)(36840700001)(40470700004)(46966006)(478600001)(336012)(83380400001)(426003)(966005)(2616005)(34020700004)(70206006)(1076003)(7696005)(186003)(70586007)(8676002)(107886003)(4326008)(36860700001)(316002)(6916009)(6666004)(26005)(47076005)(41300700001)(8936002)(5660300002)(82740400003)(2906002)(7636003)(356005)(40460700003)(40480700001)(86362001)(36756003)(82310400005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 18:42:50.4514 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5b017497-35e6-42dd-4c7e-08db314e9099 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.118.233]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT036.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB8126 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: asmaa@nvidia.com Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" BugLink: https://bugs.launchpad.net/bugs/2013383 Add a new SMC call which allows setting the ARM boot progress state to "OS is up". Signed-off-by: Asmaa Mnebhi --- drivers/platform/mellanox/mlxbf-bootctl.c | 23 +++++++++++++++++++++++ drivers/platform/mellanox/mlxbf-bootctl.h | 5 +++++ 2 files changed, 28 insertions(+) diff --git a/drivers/platform/mellanox/mlxbf-bootctl.c b/drivers/platform/mellanox/mlxbf-bootctl.c index e8877a19dda9..a68bf5b27013 100644 --- a/drivers/platform/mellanox/mlxbf-bootctl.c +++ b/drivers/platform/mellanox/mlxbf-bootctl.c @@ -105,6 +105,7 @@ enum { /* This mutex is used to serialize MFG write and lock operations. */ static DEFINE_MUTEX(mfg_ops_lock); static DEFINE_MUTEX(icm_ops_lock); +static DEFINE_MUTEX(os_up_lock); #define MLNX_MFG_OOB_MAC_LEN ETH_ALEN #define MLNX_MFG_OPN_VAL_LEN 24 @@ -747,6 +748,26 @@ static ssize_t mfg_lock_store(struct device_driver *drv, const char *buf, return count; } +static ssize_t os_up_store(struct device_driver *drv, const char *buf, + size_t count) +{ + unsigned long val; + int err; + + err = kstrtoul(buf, 10, &val); + if (err) + return err; + + if (val != 1) + return -EINVAL; + + mutex_lock(&os_up_lock); + smc_call0(MLNX_HANDLE_OS_UP); + mutex_unlock(&os_up_lock); + + return count; +} + /* Log header format. */ #define RSH_LOG_TYPE_SHIFT 56 #define RSH_LOG_LEN_SHIFT 48 @@ -1209,6 +1230,7 @@ static DRIVER_ATTR_RW(rev); static DRIVER_ATTR_WO(mfg_lock); static DRIVER_ATTR_RW(rsh_log); static DRIVER_ATTR_RW(large_icm); +static DRIVER_ATTR_WO(os_up); static struct attribute *mbc_dev_attrs[] = { &driver_attr_post_reset_wdog.attr, @@ -1227,6 +1249,7 @@ static struct attribute *mbc_dev_attrs[] = { &driver_attr_mfg_lock.attr, &driver_attr_rsh_log.attr, &driver_attr_large_icm.attr, + &driver_attr_os_up.attr, NULL }; diff --git a/drivers/platform/mellanox/mlxbf-bootctl.h b/drivers/platform/mellanox/mlxbf-bootctl.h index c70204770af3..dc73f7e88914 100644 --- a/drivers/platform/mellanox/mlxbf-bootctl.h +++ b/drivers/platform/mellanox/mlxbf-bootctl.h @@ -102,6 +102,11 @@ #define MLNX_HANDLE_SET_ICM_INFO 0x82000012 #define MLNX_HANDLE_GET_ICM_INFO 0x82000013 +/* + * SMC function ID to set the ARM boot state to up + */ +#define MLNX_HANDLE_OS_UP 0x82000014 + #define MAX_ICM_BUFFER_SIZE 10 /* SMC function IDs for SiP Service queries */