From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 06D06CC6B03 for ; Tue, 13 Oct 2026 10:32:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version: Content-Transfer-Encoding:Content-Type:References:In-Reply-To:Message-ID:Date :Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=lYEzPh2HCvulMM7n8NLZihzPYqqg9U+hllx69esfCrk=; b=pwC0cy/8dI82zsXgLC5wQ7Elow wUX/3QlH0mDxX7/0QZ4XKLGzVaLJPNj3pC8WSKvpsAz/j2oPCtLB5ICoS85OINnSB2gtOK+AeKJVd xCWQrKy2urL4BUThFbB0C8MUImn2G2SpadlsPzLUVDFEKqUcjBMwTPeQ4cVzGatVEuXSxqH1sCR0c wum91Ev4OTj7w7/O3UzBF02OErYrf9S2+s4kZQnzBGV5h8H5J/j8jbmgPm08d9l4iyMm2fx9SnVEC O7KaHWMDo292e6Uh4peoS8p8PLK0cVexkynlwBpoF1ERLX3RWvyZeEBDCAlMUUknEVrnJqXvW9Shk 0EJ8pzfA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1xGZnR-0000000Ca4J-1DLz; Tue, 13 Oct 2026 10:31:49 +0000 Received: from mail-francesouthazlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c207::3] helo=MRWPR03CU001.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1xGZmy-0000000CZiw-32cP for linux-arm-kernel@lists.infradead.org; Tue, 13 Oct 2026 10:31:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=g0lsq19hFH5htumQouEE5GA0wyL3Y8Palwzj3603wK1vSkFzmhx+FiIJCw3oTfithv48jcC7KYpY6xNlxdkdoy+TbWvJ4XwEDP3s1D+kCat8khxEJW4kmZqcIhJ1tETWarCSl35rAx2c4r/SMbbPxdPaeLR5X4qBGf+vCwVfoCtNxCjDnP6LVqnG/vcIR1PSwBIG3CggiNgpvWLNo3qhHmxhdGxfbDct3Ar/BEefoUFMuuQrmf82zEN1+FKXnSHQbsNSDu1YWd0n+PNeKDSHHCz34Dj5YArFhU1bMN4wMtVDgVowwBVQ0ZRJpa1dvXxZdL4guCrOX0T49guz6/sWOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=lYEzPh2HCvulMM7n8NLZihzPYqqg9U+hllx69esfCrk=; b=FAj7sz53MHScl9e0jhuY9282Wmrn5Uyt4lIXlr5nEiiA8NjBkW9ItmgDJbtecfO8RZJPoqhp4k+RAujs3VchRpQxoCfFdmedGRI1Ykd1h7NLz6l4ywHbgMkWzz0OVPcu+nY2zu6dRQcPpEWT428bSnOpWnMYUe3cYwkkMRsNn+UZvmlOFi8hbyJh9MgK0frh1evnUrz2gKW1MB9A8ViVyKOETrJXKVAs5JJOdnZMvxQIgfjoqwi6jWv1ewcROJqGoi+VLVMncHwIidBKptIybtCPpp/J0wPUC8rhAHwa3m2cadIMMtVL2xLibOTAPclferiPDF/pdVGYFStdRbNOXA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector1-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lYEzPh2HCvulMM7n8NLZihzPYqqg9U+hllx69esfCrk=; b=aNFb0Tqe4WtpFASR7xiGlcVk6congxvgjKtDlxHWOkNbktEQHyRUVDeSGLtgDF9lMAfHqrosrFGOVfZe34IFbwDy5CPmgPfo7KRpM3z1FtZn2YPz75qylLz0W942S4NhF3P5j9W9q0FnzilQ/n0Xs/MfatsOqW2lgxMnFMHxoBM6b4OizP8t+SVnbozKlfUGFapnYhADKw0iuD+EWNO4CYAjuSD+TLTxXKMJAbiMTxYv0+7eaBOApD69C+TY1iaoCkuIiR9pwJWTcPJMw9CHggRehwn5pt3eZW+TsbrQmN5lWHi+ce1+epvBnlGDqrYbRhCHJxSnrzMQE4T9xSBTDA== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from GV2PR04MB12558.eurprd04.prod.outlook.com (2603:10a6:150:368::10) by VI1PR04MB7133.eurprd04.prod.outlook.com (2603:10a6:800:126::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.522.12; Tue, 13 Oct 2026 10:30:27 +0000 Received: from GV2PR04MB12558.eurprd04.prod.outlook.com ([fe80::cd9f:102:ea58:4c49]) by GV2PR04MB12558.eurprd04.prod.outlook.com ([fe80::cd9f:102:ea58:4c49%6]) with mapi id 15.21.0496.021; Tue, 13 Oct 2026 10:30:27 +0000 From: Larisa Grigore To: Larisa Grigore , NXP S32 Linux Team , Alim Akhtar , Avri Altman , Bart Van Assche , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , "James E.J. Bottomley" , "Martin K. Petersen" , Sai Krishna Potthuri , Ajay Neeli , Manivannan Sadhasivam , Pedro Sousa , Hannes Reinicke , Joao Pinto Cc: linux-scsi@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-arm-msm@vger.kernel.org, clizzi@redhat.com, aruizrui@redhat.com, eballetb@redhat.com, echanude@redhat.com Subject: [PATCH v8 06/12] scsi: ufs: dwc: Export common clock divider and link status helpers Date: Tue, 13 Oct 2026 12:29:57 +0200 Message-ID: <20261013103003.373156-7-larisa.grigore@oss.nxp.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20261013103003.373156-1-larisa.grigore@oss.nxp.com> References: <20261013103003.373156-1-larisa.grigore@oss.nxp.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: FR3P281CA0023.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::7) To GV2PR04MB12558.eurprd04.prod.outlook.com (2603:10a6:150:368::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV2PR04MB12558:EE_|VI1PR04MB7133:EE_ X-MS-Office365-Filtering-Correlation-Id: 9522a4fc-de20-4990-e6a8-08df2914ff72 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-LD-Processed: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|19092799006|23010399003|7416014|1800799024|376014|366016|6133799003|22082099003|10067099003|18002099003|921020|11063799006|261009223027099003|56012099006; X-Microsoft-Antispam-Message-Info: qNRhUNrSBCEYMy6ByTbgoWL3jCwiE2jUsyImPgzOEMLUxcx0gn3DbaXlJIPr+ptw3rOcUXQLgxOsTbJ9APSAsglqD8OJWbvePFsJZrrarAo5zTRFBIXEy7dohS1ImZlWpbc2AQuDOU2Tf1V24RVqvVVFpAEaXxdA59O3Eklepi9LtwR8oJoKYQzhSbql0O3T9xnSbDaeQvcK9Yo6UaP0d5TFCKb/ANnQ1TyqAvwO18wXBvhVV99Hmk5sgfnvQMSKi9TycynMDPCNIi15+dDzQb+g8o+KYucjGPaHkPwONopBabnPL1E0NUxkzr9So5vjQkkcMoiKlN+pu8Dje+AoBMYRu8AFyGsSGWPg2NUYtd0jEpozkkS9F9BUUH5vqX+wb09qQ9Yuk7+YJhc4YYd1RlA9e2wOtCJaXhv/RcCgDRBgpAT21BcwDC6wslPisT1uYFPb7w2wBRmyYOcQp6MzKESpEnlSbLhhnf28vWdKi6/RDcUJGXJnXDN1wfmzAXX4K4NkMdunLw+qt8WIq+3lWZfMdLnNCaRGVEk45Y3u73CIA4LMLp1vHvqKiorKpiVizvyboF2zTqNq4lzN3qlEOY8EEFBFm1LyCwWRuPWwYqbK1Dzu0LqyB/ANU6vjEei3FenyU045UAoFrSVXfmyK2cdnK84AprWgHSPX3yCzKqghnwtHlEai+shjYETgZGwr/Ndy67ejzCDbz8JwBO3kTg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV2PR04MB12558.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(19092799006)(23010399003)(7416014)(1800799024)(376014)(366016)(6133799003)(22082099003)(10067099003)(18002099003)(921020)(11063799006)(261009223027099003)(56012099006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bmZWMmNqYkh6d05xcTV4VHRUWjRDQ3BkRlB2Znk2K2pXUUFVM1k5dVhkRXkw?= =?utf-8?B?c3czTWllS2h1RXA3eXV2MytTaFdvTUszYWhPbVhFdVlmcE1OOHJHYnNlbll4?= =?utf-8?B?aE9CbHdRaHEwWjQyMjBkVlV0VC9BVkVnQnNZU1lqOGtzNU5mZnBic2V0QU9o?= =?utf-8?B?Q0RCVXVEdS92bHlHKzM1UGg2dVdzU3Q5VHk2cjdsanBmUjYwQTJSR1pBSkp3?= =?utf-8?B?VllMQ1JQcW9meTdOVEdkc2NmWmovZ0pYWFdDWWxaWXdQdHIzbXVBSDFIWmhS?= =?utf-8?B?NVFsTzhRcnBqWHJESnJJVUdGVWd0MXB1UzNmUEtBcjFuYm9uNFN2MU5keW5z?= =?utf-8?B?eG10ekFaajBKQSsxWm1YL0psd3VzS3BSbmV1dHd4Qklmam1jZkI4eDNtbHVx?= =?utf-8?B?MGZ0OHVrWG44c3J1SnlCdTIzZklVZE9sNFcyWHpWNFd5dUdwR0ZJUTFiTHVq?= =?utf-8?B?OThqcmxRa3VrdG95aExnNTZ0TmpSY0t6UVZKOXh3VU5NK2FkK0phWmd4ZVBs?= =?utf-8?B?MXdEeXEvVWpvQTFyNjROWnpNQUJKZldFOE0rTGlVUnpOQjQySm1kM25iVXlW?= =?utf-8?B?UGxGYVFkNmlXTGRVYTZoMDZFWnpGUWdXeDFzdjJDNXY4Y0VHTzRaVHduWEhG?= =?utf-8?B?cFgrdk9QZDhYcDlVajIyNlBOVjRQSHpVMExwRzU2M0FlRGVSMWpVSWwwNTJB?= =?utf-8?B?bStGdGd5RWpmY2ZSL3ZMemEyZDFuSkhuaUp2V0VTWnJybmRCVHpUYXJoOUlC?= =?utf-8?B?MkJIaEZSRTBQeUVVQjJqN2ZhWkR5ekZyaG1JMmoyQTBKWWVnKy9KZ0h1QS9W?= =?utf-8?B?WmxZUW0xSiszUlpjRkh4cTdMVnhGWHcxU3pVOVViY3VDSE9TVGdlaTh4a1Vs?= =?utf-8?B?WHBmbSswTE9uZGhtUURXNzBWYjROaUZxbVpNZjREeVVEcDlBOE9iQ1RYdkRP?= =?utf-8?B?a2hmRENuYWFQRXZObDFGRnBsalJiMUlqd1J5OTIrcTcveGNlTnEwSzlFejl5?= =?utf-8?B?aHFjSkRxVFJRVXJVbkxMem1pcnJUbkpaVWRjTWJEV0FhQ3dKbENJLzZSMEk3?= =?utf-8?B?dUJVU21sblpmSy9EV1Q2Nk1lZ05tNGFtcUdFaGdDYTl5Ym0xaHlmYmtvbEpt?= =?utf-8?B?bjRVRWZGWGpmekx5L2w5N1V0NnJqdlVFVkluMUJxR1hKWTJQZUlQYmpIMTcz?= =?utf-8?B?RkZIMXZoM1BqdW1SUzUyMmdnVFpkSFF1RDBsQW9YUzRqK1NrSERiT3Azb2Vu?= =?utf-8?B?YzBqdDlmRHBibUJSSHJZNDV1R2xTWXd6dHpvekQvSHRTYUVoNkJIeVlRa1ZB?= =?utf-8?B?R2wvdk1PbHZCTDd2NEdvR0NjaHdFdHFiZldYeHdQYnUzRzRlemo1cWk5Rmsx?= =?utf-8?B?aVB2RU9lNDBIYTJHSmp4YXNna0pLNzFZOXpLU2kzQU9EYnpoQzduV3NVT1Bo?= =?utf-8?B?eHlFTmdCZFVhMnlZYkZyRHY4WWwyQlVMbEJVZ1FKT0FwcTFmcUhCWGdKTXo0?= =?utf-8?B?RFV6WlNMZWwvT2t0cGl3aCtBaWdpUDZnNTYwcVZ1Lzg4eXJ4N2NTMnVXemdI?= =?utf-8?B?bnFjTlQ5OHFhTTRMZVQzOGtvdFBhNHB4NGpWUDBTeDBtdE44dm0vRWdPMzMz?= =?utf-8?B?YlZYWlNLWWc0NkdOV09DYnFRQUpqOHVXYTNub1pta2d4eUpEZDlvNmJYcWFM?= =?utf-8?B?dmZMSFNDQnlQRG9HZk5wV2V6cURjSnJDQ09SVmtOc0cvcWNoYnZqRHlNTWpC?= =?utf-8?B?NW1IZHlBOUJMVlkxTWRTRHROVE5HWTdFUllzeHZ5V3NpWUk4OUowN3AxK1Bj?= =?utf-8?B?Ry9sMEFyUVZXT2EzTlNGVDNSblNEVlZPRXZldUNMbHlOWElQV1BoSUxEaWZ2?= =?utf-8?B?L2ViV0owWkNySnh3cDVycTE1RFFtT0h1YklIdFNkLzUwRWtUNzZqbDZMR0J3?= =?utf-8?B?V1FTdldrSnBYYVJxVFJ1Wnpsd044c0Y5aFg3RVd4dk94K3lpbUE1bXROUFli?= =?utf-8?B?L1hISGlCRlRObGlGY1hPanNIYzJ6VFRqdkkxYkk1QWZNbStDOTAxVXJvYkxH?= =?utf-8?B?WEIxMzBXdXU0WDdtSDcwNnZ2ZlBPSG50RVE5dWJ0RDFGSmd1akJ6ckJtYnpT?= =?utf-8?B?T1pPdUx4YjQvT1NvSVNJWmVCbEk1WkRJT3l0bkZLZ1h5cGNjSUlTV1E0OTNx?= =?utf-8?B?UmlxQVpnNkIwQVZwS1NxVE1GL0g0WHkyYkdPUFVTa2pybzJGekdrUkIyTUdU?= =?utf-8?B?UGVVRkFiUzBsZDdqS2NjazczRnp3OUgxZ3ZUVVhYbDA3RVN5TDdWWlY4SjBH?= =?utf-8?B?cGpNOWNwdEVSY21NVGNTTncrUDVYOVZDNG9nQWxVWG92SnE1M1pEUT09?= X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9522a4fc-de20-4990-e6a8-08df2914ff72 X-MS-Exchange-CrossTenant-AuthSource: GV2PR04MB12558.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Oct 2026 10:30:27.2459 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: klY9q7VtNxn5+6g5av34rF3tJaUgzll1aMC/mVPi5iqeXTYWri7zGdzu0DoL3bcA/+NAMaAVeTey62ASBqrKcQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7133 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20261013_033120_873418_71EDBED4 X-CRM114-Status: GOOD ( 11.35 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Make ufshcd_dwc_program_clk_div() and ufshcd_dwc_link_is_up() available to DWC-based platform glue drivers. These helpers are needed by platform drivers that must program the controller HCLK divider and verify link state during their vendor-specific initialization flows. Signed-off-by: Larisa Grigore Reviewed-by: Frank Li --- drivers/ufs/host/ufshcd-dwc.c | 6 ++++-- drivers/ufs/host/ufshcd-dwc.h | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/ufs/host/ufshcd-dwc.c b/drivers/ufs/host/ufshcd-dwc.c index 20b7174e9498..037b99d1148c 100644 --- a/drivers/ufs/host/ufshcd-dwc.c +++ b/drivers/ufs/host/ufshcd-dwc.c @@ -39,10 +39,11 @@ EXPORT_SYMBOL(ufshcd_dwc_dme_set_attrs); * @divider_val: clock divider value to be programmed * */ -static void ufshcd_dwc_program_clk_div(struct ufs_hba *hba, u32 divider_val) +void ufshcd_dwc_program_clk_div(struct ufs_hba *hba, u32 divider_val) { ufshcd_writel(hba, divider_val, DWC_UFS_REG_HCLKDIV); } +EXPORT_SYMBOL(ufshcd_dwc_program_clk_div); /** * ufshcd_dwc_link_is_up() - check if link is up. @@ -50,7 +51,7 @@ static void ufshcd_dwc_program_clk_div(struct ufs_hba *hba, u32 divider_val) * * Return: 0 on success, a negative errno value on failure. */ -static int ufshcd_dwc_link_is_up(struct ufs_hba *hba) +int ufshcd_dwc_link_is_up(struct ufs_hba *hba) { u32 dme_result = 0; int ret; @@ -66,6 +67,7 @@ static int ufshcd_dwc_link_is_up(struct ufs_hba *hba) return -ENOLINK; } +EXPORT_SYMBOL(ufshcd_dwc_link_is_up); /** * ufshcd_dwc_connection_setup() - configure unipro attributes. diff --git a/drivers/ufs/host/ufshcd-dwc.h b/drivers/ufs/host/ufshcd-dwc.h index d8673cd54d4c..53b523ef59df 100644 --- a/drivers/ufs/host/ufshcd-dwc.h +++ b/drivers/ufs/host/ufshcd-dwc.h @@ -47,4 +47,6 @@ int ufshcd_dwc_dme_set_attrs(struct ufs_hba *hba, const struct ufshcd_dme_attr_val *v, int n); int ufshcd_dwc_phy_reg_write(struct ufs_hba *hba, u32 addr, u32 val); int ufshcd_dwc_phy_reg_read(struct ufs_hba *hba, u32 addr, u32 *val); +int ufshcd_dwc_link_is_up(struct ufs_hba *hba); +void ufshcd_dwc_program_clk_div(struct ufs_hba *hba, u32 divider_val); #endif /* End of Header */ -- 2.43.0