From patchwork Wed Jul 10 20:26:44 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Liming Sun X-Patchwork-Id: 1958988 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 4WK8Y364fLz1xqc for ; Thu, 11 Jul 2024 06:27:19 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=lists.ubuntu.com) by lists.ubuntu.com with esmtp (Exim 4.86_2) (envelope-from ) id 1sRdu6-00020a-Rf; Wed, 10 Jul 2024 20:27:06 +0000 Received: from mail-dm6nam12on2040.outbound.protection.outlook.com ([40.107.243.40] helo=NAM12-DM6-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 1sRdu2-0001zP-Kv for kernel-team@lists.ubuntu.com; Wed, 10 Jul 2024 20:27:02 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fT5oI7zgBrcWJrbf7Sr8yz4g7HZByhOpHohOWwH4fUey4hm13GUM+PynDBwoxuTkRBNl5GJvflsnxJg98YfISjTW4SFiUF1KaeXtM05241jkz/kInNOcqFEDyoGUfML2cLkL+e1XxbJaK6/w1KInbsRoRAYAypgO1O7TVDPwErE8PNOEk7WUfgEthrYATSHaRo4ql1n6BB2Jr/mKcBHEXg4Y6yU1iWiyV1xfa5XwNR9ljRTE/B5rxhEBk+Pg7D4OaMBCJaN4bKKz27BnZz016pClE4zDVh8qCmpldVt/Ys+i9bz9s7IeE/Xa8bZWP+FaTqPbnGDlRlPBS8n6g+o6lQ== 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=K5KLNBvIhBinwfsokpQ6J0VaeFLu4kFOq5HYXt3qsSI=; b=Nt+H0MAuiz9zHtCMnAzcRHh2cL1aciCI3xCL28SF6GZjDE9/8koC5VPOpnChRSL0hTZb5650er0qoIxIuaFEOALvYkq1+Qt3AUBkKFqB/c5zxSGVS8dMWpQ7/dnAVckAIvqDiB0+x7UGUbIdUgbDWnM7PpWvONjbt24sCCe8QDbDnpXsLm2VDggPshS2aYlhWJOvad84oML6oQLNoddUBQNebfo3y+TXsiYBUnLqoetHAMkVxzd5Kg1eGSIqUUErtvgUvJUKt3jyEPkH8wfNwX3SJO0cb59HcYawXsrCXgnD8NCqhhykWgFTUrIP8e2HCcEydSH14ZBUSGJ4TfG2Kw== 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 (0) Received: from DM6PR11CA0028.namprd11.prod.outlook.com (2603:10b6:5:190::41) by SJ0PR12MB6781.namprd12.prod.outlook.com (2603:10b6:a03:44b::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.36; Wed, 10 Jul 2024 20:26:57 +0000 Received: from CY4PEPF0000FCBE.namprd03.prod.outlook.com (2603:10b6:5:190:cafe::f1) by DM6PR11CA0028.outlook.office365.com (2603:10b6:5:190::41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.36 via Frontend Transport; Wed, 10 Jul 2024 20:26:57 +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 CY4PEPF0000FCBE.mail.protection.outlook.com (10.167.242.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7762.17 via Frontend Transport; Wed, 10 Jul 2024 20:26:56 +0000 Received: from drhqmail203.nvidia.com (10.126.190.182) 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.1544.4; Wed, 10 Jul 2024 13:26:47 -0700 Received: from drhqmail201.nvidia.com (10.126.190.180) by drhqmail203.nvidia.com (10.126.190.182) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Wed, 10 Jul 2024 13:26:47 -0700 Received: from vdi.nvidia.com (10.127.8.12) by mail.nvidia.com (10.126.190.180) with Microsoft SMTP Server id 15.2.1544.4 via Frontend Transport; Wed, 10 Jul 2024 13:26:46 -0700 From: Liming Sun To: Subject: [PATCH v1 1/2] [SRU][J:linux-bluefield] mmc: dw_mmc: Add support for platform specific eMMC HW reset Date: Wed, 10 Jul 2024 16:26:44 -0400 Message-ID: <08b0cb030e8692b3550b72e0c9bd9273f8832a5c.1720642165.git.limings@nvidia.com> X-Mailer: git-send-email 2.30.1 In-Reply-To: References: MIME-Version: 1.0 X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY4PEPF0000FCBE:EE_|SJ0PR12MB6781:EE_ X-MS-Office365-Filtering-Correlation-Id: a9010406-32cf-4540-6274-08dca11ea512 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|36860700013|82310400026|376014; X-Microsoft-Antispam-Message-Info: SkT0hDzrOGYsusOERd0blZbNDwAJ96dPny5QkggL6Kg+fIMyPp15QvDiwVlCYlWFJVH7r8INdH8BGSjzK0AuwoXIhnpswb1ZBffNy4y+OW4xkCrMwX7h8zygtLvwwPg7yFFKGYBJyozmyni5N58krgSMQ+dfb/xq5kHCuGXjCEwHh86/3t0DU/1VaIoxsCPlaGBjQg23FEeC9yDH4nSpscgoGVyOXBW+jyvmUVcGl6mo1JyuU+14ejS+RIFBJfJrsBpqaymU/sNhwxJCf1Sg6g5qdM6zFYRM02IxLFW34PzquxO5Fxb+L5Sl74cOO4N3xXm59IMmpkcGprTE6z5ZK3MPNEbXSXAWa7Nt2ziLNfHD6eS7XWidtM1w82D1xkmql/0RoRUwFzAWEC4Pj9pxtbfvz/n+YmbgKsvQvZkx/tnNprHVRfpMwIFtIKiXg3Z02sC8ACI+nSDjVcrIIAg6XVsJ5hoTovRF+A39B0j9cqC2kb21c20yHBOaK+9K2VOR8CvkwKgjtNgUKMsQMDABko+1JQaQtte4NNfo5Z8aJU6DDsNFq6W3b+I54xBZhzD++7akOADGK6h8rm+YOmGFuAV4zC7CSkTH1CYDxSV2Mso2VTjz2pZ4s5y4DXpMFmzk9KNJAJ8wIRkv9eUkb4bwgU9NgaWUzn7G2izcml9UojiI9aMQJ9qLqjISNcQYQUZdTIXN/E1V0x3D6WjR4cQoPacSe5eyaid1JFIJnUxrwuycXdom4/hBKMS2o+ZBpFbLYeyGzMPyGaPZKX0/Kl5hApkY73jbdD43/zNwRYprE8UxHfX7XC+U7DlGCsu+L1KZEFBKvg7QuDZSxEObsJVLcbPNc8e4HBLSgKAWvHUg4vGUN/aYixXcAlLEeWnsXG5+WzgCh09mndN1S9cP7DzPdlOnH7mbUsSgzllhxjzWzE68veH9Am+z+SZi+gZlNwWKtIcd0gAayNqFqJGOj7JzjcrfmtdaiGCEdYkCQahRb+fvMtPS7cgSCpEp2V3EIs9NqyIccL1ywvy9KhczE8RoccsPBuMYeA/QyQC/NJNLMAAMM2Br7dmUSLR3wYnsFrvKkrUBGLurl3hkEaUQt/FQCvXzfFmCeGmkzXt/kVcfUXI1Tw8saJyfyNvsUNX+Wgk4T5gcgu1jxUuW4Qx2ANGy7U+v6PKpTSa6NPcXk0RYRyv+9gfeDk/bqib3MnVfxVRm9Hy/A0Ho7RPnxe+c0pEEyndpbwwSBhk9bLAKH4t6fz7YwnhyaUIrO+1Oe+hHfSPZxBLbmRaJ3z8OxJu6NH5SiF9J5lpmllDnvinwhLR+gGLBIH74B9fvKC7bJ97c1tvYJpOllJO50AxCqK4OnH5x3WZn9MKfOaCoaO/fjNVMiSPtY6hxM918rOAhTI/dctRPDOP9eRuL5qjNMg55aClr7fmNaLu6lScvojOF6vK6Q2RWwLIyHVsZOXJC9vnzL32/ 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:(13230040)(1800799024)(36860700013)(82310400026)(376014); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jul 2024 20:26:56.9366 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a9010406-32cf-4540-6274-08dca11ea512 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: CY4PEPF0000FCBE.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6781 Received-SPF: softfail client-ip=40.107.243.40; envelope-from=limings@nvidia.com; helo=NAM12-DM6-obe.outbound.protection.outlook.com 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: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" BugLink: https://bugs.launchpad.net/bugs/2072675 This commit adds a new callback to allow drivers to support platform specific eMMC HW reset. Reviewed-by: David Thompson Signed-off-by: Liming Sun Link: https://lore.kernel.org/r/3df02ffa8bdaa74f5261c8914d2545b97fb3478a.1718213918.git.limings@nvidia.com Signed-off-by: Ulf Hansson (cherry picked from commit f21adcb86653e2b2784bbc0f180c332b50c404df) --- drivers/mmc/host/dw_mmc.c | 6 ++++++ drivers/mmc/host/dw_mmc.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c index 1e8f1bb3cad7..bbfe93b0f844 100644 --- a/drivers/mmc/host/dw_mmc.c +++ b/drivers/mmc/host/dw_mmc.c @@ -1587,6 +1587,7 @@ static void dw_mci_hw_reset(struct mmc_host *mmc) { struct dw_mci_slot *slot = mmc_priv(mmc); struct dw_mci *host = slot->host; + const struct dw_mci_drv_data *drv_data = host->drv_data; int reset; if (host->use_dma == TRANS_MODE_IDMAC) @@ -1596,6 +1597,11 @@ static void dw_mci_hw_reset(struct mmc_host *mmc) SDMMC_CTRL_FIFO_RESET)) return; + if (drv_data && drv_data->hw_reset) { + drv_data->hw_reset(host); + return; + } + /* * According to eMMC spec, card reset procedure: * tRstW >= 1us: RST_n pulse width diff --git a/drivers/mmc/host/dw_mmc.h b/drivers/mmc/host/dw_mmc.h index ce05d81477d9..2e4bd94e3712 100644 --- a/drivers/mmc/host/dw_mmc.h +++ b/drivers/mmc/host/dw_mmc.h @@ -554,6 +554,7 @@ struct dw_mci_slot { * @set_ios: handle bus specific extensions. * @parse_dt: parse implementation specific device tree properties. * @execute_tuning: implementation specific tuning procedure. + * @hw_reset: implementation specific HW reset. * * Provide controller implementation specific extensions. The usage of this * data structure is fully optional and usage of each member in this structure @@ -570,5 +571,6 @@ struct dw_mci_drv_data { struct mmc_ios *ios); int (*switch_voltage)(struct mmc_host *mmc, struct mmc_ios *ios); + void (*hw_reset)(struct dw_mci *host); }; #endif /* _DW_MMC_H_ */