From patchwork Mon Oct 30 20:05:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Asmaa Mnebhi X-Patchwork-Id: 1857224 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=185.125.189.65; helo=lists.ubuntu.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=patchwork.ozlabs.org) Received: from lists.ubuntu.com (lists.ubuntu.com [185.125.189.65]) (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 4SK48n6NMjz1yQ4 for ; Tue, 31 Oct 2023 07:08:41 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=lists.ubuntu.com) by lists.ubuntu.com with esmtp (Exim 4.86_2) (envelope-from ) id 1qxYYm-0000IB-UI; Mon, 30 Oct 2023 20:08:29 +0000 Received: from mail-mw2nam12on2062.outbound.protection.outlook.com ([40.107.244.62] helo=NAM12-MW2-obe.outbound.protection.outlook.com) by lists.ubuntu.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1qxYWl-0008BK-N7 for kernel-team@lists.ubuntu.com; Mon, 30 Oct 2023 20:06:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PDV38vZTiKhjmH4QIy9lugf06iYdGxvN8mJ/Uu7UKuXAjLL+8f9+a6aMkJ6w0CXtFVWoSq5LsWOf9ZxM2o3utvAgyEl1Pih1VtcV1wVHC37Bxoab1uRcekb+khzmZ2NxklIGXIXeTjPqq7kGsr33ek1LWMbJL3NZU9GuS/DSVKNWpPGWy6pt5sBAQEqpnmylFfSVlYnR5BFRHiv6zl+QZq5A9kKVZ/xT++7wFM9R631EFb8HrxKSpmJFnnJ8582xj6SEBz1WWgxBSR05XaZjl/hUbrt+ynFOeGv0WoLfmZTKQo/QzBQBz78r6Lj1mmyjneri63Kci5SfS1Y21A9xIA== 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=Ki0OW8vh0FazQ+UNo6vB9nUlYYDvG1RzYm1kYLIIpdk=; b=UTR2LARSrpSbXoYrwmlSdxEbpIhsd70gkJCbxeLGeXkpkWHsxnNVLQwcgyzC+F/IOL8jwAaM4OUMnvJPievLUb8cUqZc6NnKDDwvukpJxENl6QPcwsvE3pg3ZYyT81r+WWXlF/JmHwmLemE74w4PtXIW0tdgl4GxrjyCwQMV3OxYcwL5BgZgqUtJkki3r5jWbT3MG20LUP1iRx9UMzdsvKdRqIhxtHZvqLeHWtb8lYrwjq5phl0ijBltqU/KGJdXRwgivqaHv5KPj7+9m9zpj85fegTbrYOdQd0M/Dy4flMq9OSgJHBp0n7JkpRi+fisUxbKWiRCkEcRmA6AnGrovA== 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=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) Received: from MN2PR10CA0014.namprd10.prod.outlook.com (2603:10b6:208:120::27) by DS0PR12MB6415.namprd12.prod.outlook.com (2603:10b6:8:cc::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.26; Mon, 30 Oct 2023 20:06:14 +0000 Received: from MN1PEPF0000ECD4.namprd02.prod.outlook.com (2603:10b6:208:120:cafe::72) by MN2PR10CA0014.outlook.office365.com (2603:10b6:208:120::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.29 via Frontend Transport; Mon, 30 Oct 2023 20:06:13 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.118.232) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.118.232 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.118.232; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.118.232) by MN1PEPF0000ECD4.mail.protection.outlook.com (10.167.242.132) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.19 via Frontend Transport; Mon, 30 Oct 2023 20:06:13 +0000 Received: from drhqmail202.nvidia.com (10.126.190.181) 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.41; Mon, 30 Oct 2023 13:05:55 -0700 Received: from drhqmail203.nvidia.com (10.126.190.182) by drhqmail202.nvidia.com (10.126.190.181) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 30 Oct 2023 13:05:55 -0700 Received: from vdi.nvidia.com (10.127.8.14) by mail.nvidia.com (10.126.190.182) with Microsoft SMTP Server id 15.2.986.41 via Frontend Transport; Mon, 30 Oct 2023 13:05:54 -0700 From: Asmaa Mnebhi To: Subject: [SRU][F:linux-bluefield][PATCH v1 3/3] UBUNTU: SAUCE: pwr-mlxbf: support graceful reboot instead of soft reset Date: Mon, 30 Oct 2023 16:05:47 -0400 Message-ID: <20231030200547.6517-4-asmaa@nvidia.com> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20231030200547.6517-1-asmaa@nvidia.com> References: <20231030200547.6517-1-asmaa@nvidia.com> MIME-Version: 1.0 X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECD4:EE_|DS0PR12MB6415:EE_ X-MS-Office365-Filtering-Correlation-Id: b6318658-aa76-431b-a071-08dbd983ab32 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: TfXQWCDCVUTM6IjbFRMFSSh4Sm5/ImlhsK4Tciw9X6DwA+h6cKvaVbPilRojN21AsvnHj4HLnvMrXiElD6RrKnR1waxdACJV235ENBM+P9bS4uZMFAF4wIbh+I73kRh5fFPCZ3BAtuE1PdhSIY4kceWsWeHPhJVvkS7AWaR4lGlWm7nTRLoaVeNL2sZXTj9zL6QkQjz/amULsFSNXsg5WaMbIzXaD6vnhfmOrVxSZWxaysGEt5DpeY6MsfSNjcyC2RBs45d9pEs++Jp3K2U8mE1h1F0lHRyNBmD2+7KAZ4wLIMhW3wX/VmZvXOgwhrR6m6JzYxKiKhqVlum9C3YHj1VuSXAX36uKagIY/vVkKz7PhmoCgNMdRU53Xnppo/t1E3NpKmugN5bkQwMFNY0zd0fJyYAGTvkmtkqSFQHY47YvaGe9q2/5bLWe8PmW+7WnqUdcNkJvnwvOeS4DTtP57rQWZZtMpOtpN7DgmWJlSjNosmNmNif5KU0+ToUczgGD+CiFikqCNy+rqzMdDTUut66dzHqh0Y+KsCZDgC+JBN8ff4o9JfyeMhn53p1qxvCY79dc5sVV++zxHi7DAv7pkrPHMBuuUCJhvn1xdLXis4C0Z2jrgkgXa2HGtSXv5GlOml/RbtjPmnQXn7zENcJPbrD2jYFOCehixf6n31m9CgRKahTVIFrSPSVXZujMUzTO7HGbWGf4xWrCOyWxwFGte6AoDynqQXTU1oJLNp/aE9l3p8+MPo2JA4o1YxgDYp7lrBPI+xr2nSePRDipuB2gKwFU3SK7RMewR6AETur3Rrs= 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:(13230031)(4636009)(346002)(136003)(396003)(39860400002)(376002)(230922051799003)(82310400011)(451199024)(64100799003)(186009)(1800799009)(36840700001)(46966006)(40470700004)(36756003)(40460700003)(26005)(1076003)(83380400001)(426003)(7636003)(336012)(5660300002)(356005)(6666004)(7696005)(2616005)(107886003)(82740400003)(8936002)(8676002)(47076005)(6916009)(316002)(41300700001)(36860700001)(40480700001)(86362001)(478600001)(70586007)(966005)(2906002)(4326008)(70206006); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2023 20:06:13.7347 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b6318658-aa76-431b-a071-08dbd983ab32 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: MN1PEPF0000ECD4.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6415 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/2041996 There is a new feature request to replace the soft reset with a graceful reboot. We will use acpi events triggered by the irq in the pwr-mlxbf file to trigger the graceful reboot. Signed-off-by: Asmaa Mnebhi --- drivers/power/reset/pwr-mlxbf.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/drivers/power/reset/pwr-mlxbf.c b/drivers/power/reset/pwr-mlxbf.c index 683bf38ba582..813eb98a2b74 100644 --- a/drivers/power/reset/pwr-mlxbf.c +++ b/drivers/power/reset/pwr-mlxbf.c @@ -15,14 +15,20 @@ #include #include -#define DRV_VERSION "1.1" +#define DRV_VERSION "1.2" struct pwr_mlxbf { - struct work_struct send_work; + struct work_struct reboot_work; + struct work_struct shutdown_work; const char *hid; }; -static void pwr_mlxbf_send_work(struct work_struct *work) +static void pwr_mlxbf_reboot_work(struct work_struct *work) +{ + acpi_bus_generate_netlink_event("button/reboot.*", "Reboot Button", 0x80, 1); +} + +static void pwr_mlxbf_shutdown_work(struct work_struct *work) { acpi_bus_generate_netlink_event("button/power.*", "Power Button", 0x80, 1); } @@ -34,16 +40,15 @@ static irqreturn_t pwr_mlxbf_irq(int irq, void *ptr) struct pwr_mlxbf *priv = ptr; if (!strncmp(priv->hid, rst_pwr_hid, 8)) - emergency_restart(); + schedule_work(&priv->reboot_work); if (!strncmp(priv->hid, low_pwr_hid, 8)) - schedule_work(&priv->send_work); + schedule_work(&priv->shutdown_work); return IRQ_HANDLED; } -static int -pwr_mlxbf_probe(struct platform_device *pdev) +static int pwr_mlxbf_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; struct acpi_device *adev; @@ -70,7 +75,8 @@ pwr_mlxbf_probe(struct platform_device *pdev) return -EPROBE_DEFER; } - INIT_WORK(&priv->send_work, pwr_mlxbf_send_work); + INIT_WORK(&priv->shutdown_work, pwr_mlxbf_shutdown_work); + INIT_WORK(&priv->reboot_work, pwr_mlxbf_reboot_work); platform_set_drvdata(pdev, priv); @@ -86,7 +92,8 @@ pwr_mlxbf_remove(struct platform_device *pdev) { struct pwr_mlxbf *priv = platform_get_drvdata(pdev); - flush_work(&priv->send_work); + flush_work(&priv->shutdown_work); + flush_work(&priv->reboot_work); return 0; }