Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.2/patches/2232865/?format=api
{ "id": 2232865, "url": "http://patchwork.ozlabs.org/api/1.2/patches/2232865/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260505100523.1922388-13-vladimir.oltean@nxp.com/", "project": { "id": 28, "url": "http://patchwork.ozlabs.org/api/1.2/projects/28/?format=api", "name": "Linux PCI development", "link_name": "linux-pci", "list_id": "linux-pci.vger.kernel.org", "list_email": "linux-pci@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260505100523.1922388-13-vladimir.oltean@nxp.com>", "list_archive_url": null, "date": "2026-05-05T10:05:04", "name": "[v8,phy-next,12/31] scsi: ufs: qcom: make use of QMP PHY dynamic gear switching ability", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "d1ce709f0f5b3095f9dad43163b1b85b6aaa4ea1", "submitter": { "id": 75582, "url": "http://patchwork.ozlabs.org/api/1.2/people/75582/?format=api", "name": "Vladimir Oltean", "email": "vladimir.oltean@nxp.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-pci/patch/20260505100523.1922388-13-vladimir.oltean@nxp.com/mbox/", "series": [ { "id": 502805, "url": "http://patchwork.ozlabs.org/api/1.2/series/502805/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-pci/list/?series=502805", "date": "2026-05-05T10:04:53", "name": "Split Generic PHY consumer and provider API", "version": 8, "mbox": "http://patchwork.ozlabs.org/series/502805/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2232865/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2232865/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "\n <linux-pci+bounces-53723-incoming=patchwork.ozlabs.org@vger.kernel.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-pci@vger.kernel.org" ], "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=nxp.com header.i=@nxp.com header.a=rsa-sha256\n header.s=selector1 header.b=AJCuNzdY;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c04:e001:36c::12fc:5321; helo=tor.lore.kernel.org;\n envelope-from=linux-pci+bounces-53723-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com\n header.b=\"AJCuNzdY\"", "smtp.subspace.kernel.org;\n arc=fail smtp.client-ip=52.101.72.37", "smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=nxp.com", "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=nxp.com", "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=nxp.com;" ], "Received": [ "from tor.lore.kernel.org (tor.lore.kernel.org\n [IPv6:2600:3c04:e001:36c::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g8vcf0Q0fz1yJ0\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 05 May 2026 20:18:58 +1000 (AEST)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 2C8E83042C5A\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 5 May 2026 10:12:03 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 418A13FADEE;\n\tTue, 5 May 2026 10:06:17 +0000 (UTC)", "from AM0PR02CU008.outbound.protection.outlook.com\n (mail-westeuropeazon11013037.outbound.protection.outlook.com [52.101.72.37])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id BDC643FB049;\n\tTue, 5 May 2026 10:06:14 +0000 (UTC)", "from AM9PR04MB8585.eurprd04.prod.outlook.com (2603:10a6:20b:438::13)\n by DB9PR04MB8363.eurprd04.prod.outlook.com (2603:10a6:10:24b::11) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.26; Tue, 5 May\n 2026 10:06:01 +0000", "from AM9PR04MB8585.eurprd04.prod.outlook.com\n ([fe80::f010:fca8:7ef:62f4]) by AM9PR04MB8585.eurprd04.prod.outlook.com\n ([fe80::f010:fca8:7ef:62f4%4]) with mapi id 15.20.9870.023; Tue, 5 May 2026\n 10:06:00 +0000" ], "ARC-Seal": [ "i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777975577; cv=fail;\n b=esVic3Bbg056aAKGc/0fF48q4RXa+VQ1imsyC1Pe65uK4F9AOhsNsfmR2/T8aC4Qxk5eJS4RIr5SDFG+dLv69UVDx3imxR7cti1aLMB/jwqzhkVKxz1yKjXfxErmUKN2zvnfkJRPPthg7hYMTW3tRdWUz3R7ZxC11h7ZKu2ZdSs=", "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=Qzu4otWk23bVNMwJgMBhviSj+5XmqRhQQgl6XtNU3ZQn74PeIIRelVxTBtr/r5v4BFIlpCFk4q1IrpMdeGgVE2G85G9GR5bgODUT3xsQRwa8p3OXFCu9CHM2zsDCwBIEFP2NnDYf82/vswpYOEW0TbvHyccvMm9FW4FsaOOgSWXHSZWRifm/+FUIJFWyRXx5+WH9Mu0rkT9aivsh1b+nquFyl6L6gxb5bwPopqHosZqAj16ML0JTd+VUrynIBo4C0mPR0g8IVm6/xALHqIe/MVGHKgnwZONFXwiP8Ll1dq0jReV0klrNDnu/I0jQ2+h7zdu4lIztMvAG2D1BIRkedQ==" ], "ARC-Message-Signature": [ "i=2; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777975577; c=relaxed/simple;\n\tbh=ZHH1cgFKix21vvk71mPJgHN9XbODyafruvQMeH+Ir7A=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t Content-Type:MIME-Version;\n b=UEHFBG3gA+B4eF4doSLofqCSJICn1WxDeA+OHtcSbnTxAaWJSwLfaXyv6vDS8OFowW3gpm3PNUL7Ttr4ee9IaJpUjI7ayOuUG5cMMEE2MGWWZL0YlnuDddjmpVublFVcVuEha48XC3R+RCyV8aKP8LE/+JOyuzd7SE7VCv9mVAw=", "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=peY7nwIrQ0Vo9Wg3nyAoFzgTp4el9JJoCbdirxkwdqk=;\n b=Ss1d3fAR3kozy7FHzPYpvLqnD+EJi8My9m+MznO+5TxA8WORLGDq+FHF4B955IBnUWWBZEPjIXSzmjUFnqaM1M+Gs+QRyzKniG7VDR3+8dTcH71NUGOsJqdhjy64127qHCt4OsfjxqFox9ltrK8rzKtkJPOcmkqqvkn1gxms1YuRmynR4QXIXoqWuRjhp9u7aPU8uX0algP14I+H/yGZAMSF/BdgovlLv3oHdQODG5PKrsCPo9DFv9PNxR2Z8unojvQdnBid7W01ojikCsvhwmV/JESJtjhMY2D239dNNt8MbqAANocxbnsfo9O6rn16dQyQUYuINmtyAI25b7L3mw==" ], "ARC-Authentication-Results": [ "i=2; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=nxp.com;\n spf=pass smtp.mailfrom=nxp.com;\n dkim=pass (2048-bit key) header.d=nxp.com header.i=@nxp.com\n header.b=AJCuNzdY; arc=fail smtp.client-ip=52.101.72.37", "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass\n header.d=nxp.com; arc=none" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=peY7nwIrQ0Vo9Wg3nyAoFzgTp4el9JJoCbdirxkwdqk=;\n b=AJCuNzdYJokyTO80JgMKrtxfAcHe1Q5fp5MHltqBibLmfVMs9WYCYDbqB0TMAK7IHnc2QHu6C3+m9JoK2QRsitTncKQKy+T5jDDaTIgATpnaeP+0a81PI+HdtrKpUa04CqeyHR+zgIhgKDFxf8otvQvh7vVwswmRLn+ZpZ8aevRoifRK1dw2Bb8We66Z+P69FGK4izV6nPf9t0EXhIeF0TCSSXcA3HzOnqLbm+TO8QGIbqQpDzn2XrpHG40wfnVlAhccLdaBK+XHAqbfMmDahOCLRKDZ5KQRiB1NNGb954Z+J2HTWfM6TQvLS6vGYm5k8pjx7tt9nZNqGJWqM5fVZA==", "From": "Vladimir Oltean <vladimir.oltean@nxp.com>", "To": "linux-phy@lists.infradead.org", "Cc": "Vinod Koul <vkoul@kernel.org>,\n\tNeil Armstrong <neil.armstrong@linaro.org>,\n\tdri-devel@lists.freedesktop.org,\n\tfreedreno@lists.freedesktop.org,\n\tlinux-arm-kernel@lists.infradead.org,\n\tlinux-arm-msm@vger.kernel.org,\n\tlinux-can@vger.kernel.org,\n\tlinux-gpio@vger.kernel.org,\n\tlinux-ide@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\tlinux-media@vger.kernel.org,\n\tlinux-pci@vger.kernel.org,\n\tlinux-renesas-soc@vger.kernel.org,\n\tlinux-riscv@lists.infradead.org,\n\tlinux-rockchip@lists.infradead.org,\n\tlinux-samsung-soc@vger.kernel.org,\n\tlinux-scsi@vger.kernel.org,\n\tlinux-sunxi@lists.linux.dev,\n\tlinux-tegra@vger.kernel.org,\n\tlinux-usb@vger.kernel.org,\n\tnetdev@vger.kernel.org,\n\tspacemit@lists.linux.dev,\n\tUNGLinuxDriver@microchip.com,\n\tCan Guo <quic_cang@quicinc.com>,\n\t\"James E.J. Bottomley\" <James.Bottomley@HansenPartnership.com>,\n\t\"Martin K. Petersen\" <martin.petersen@oracle.com>,\n\tDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>,\n\tNitin Rawat <quic_nitirawa@quicinc.com>,\n\tManivannan Sadhasivam <mani@kernel.org>", "Subject": "[PATCH v8 phy-next 12/31] scsi: ufs: qcom: make use of QMP PHY\n dynamic gear switching ability", "Date": "Tue, 5 May 2026 13:05:04 +0300", "Message-Id": "<20260505100523.1922388-13-vladimir.oltean@nxp.com>", "X-Mailer": "git-send-email 2.34.1", "In-Reply-To": "<20260505100523.1922388-1-vladimir.oltean@nxp.com>", "References": "<20260505100523.1922388-1-vladimir.oltean@nxp.com>", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-ClientProxiedBy": "FR4P281CA0318.DEUP281.PROD.OUTLOOK.COM\n (2603:10a6:d10:eb::18) To AM9PR04MB8585.eurprd04.prod.outlook.com\n (2603:10a6:20b:438::13)", "Precedence": "bulk", "X-Mailing-List": "linux-pci@vger.kernel.org", "List-Id": "<linux-pci.vger.kernel.org>", "List-Subscribe": "<mailto:linux-pci+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:linux-pci+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "X-MS-PublicTrafficType": "Email", "X-MS-TrafficTypeDiagnostic": "AM9PR04MB8585:EE_|DB9PR04MB8363:EE_", "X-MS-Office365-Filtering-Correlation-Id": "c5912e16-2270-417a-826b-08deaa8de8e0", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "\n\tBCL:0;ARA:13230040|376014|1800799024|19092799006|7416014|366016|22082099003|18002099003|56012099003;", "X-Microsoft-Antispam-Message-Info": "\n\tWYwMZhUHUemFwqXcR+xwqMsIhqpwbUAcQiPC4lxt3u8ZksTWkvNCQafH/MiqgKg6Zr0/LWv9R/Uyv79Ohu2qPCEeRShY72llaln2/l1IAxbN9aMRQezKbbiqfthAvOBB2X6ktPUCfvHgU74g2kVgKbGkJp0JA92xZJ128PM6ijLSQtOzIpnYYuA2h4GhDWXYv3q14v7jIFZwCLP4mnNYZsNYmq73i5YZjdQkGZdnluQ1VYa9iycsT/YE5iEx5yA+UdGwm3mTDG+fry5ia7AxdzuKXg2xMt8j8Fn87SZcX4q8Vxyc8UbmsgbcIWA8FLFKAL/wOZoLjVytXDp5N2/YCjtvp2Z6mZbuwYP6Uuvil9o/lEs07BfRbtN/cugLN6QP7k7lKzx16Dk6gQ29T9UUlpSiwP5NeuePlx3ZtnMcuDutDX7yghiCJ11OywAQXIWqE42g0HJjvsz9/I+YsNviBqUpmAOIXvzGAIxWG1HlmxzU5pBCwHrjMnkx02cNfi4YvEO7fRjdjIdwfFzqgNjQ1ZjGc/agZrB1NEaNucvsaDYGegSJ9ydvpuGObTTgQ56m9M/jgh5oo1ePOODlP4fo66VE5OoUPIVOhhyXfYnixwNgA2qD3ruQXy026izg44N1k7eaGV1dD1UUO/yoR2t6rUivI3rOHEIRwl7k5m3UmNUt4JzCAJO9z2tk4MCZiMH8E+S/FAAZEX9J10++zfverA==", "X-Forefront-Antispam-Report": "\n\tCIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR04MB8585.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(19092799006)(7416014)(366016)(22082099003)(18002099003)(56012099003);DIR:OUT;SFP:1101;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "\n pjKll4/ioIkeELFDNEd1hF0upjtMTS/DKjWtvcJTQFO10zOYLDFsRZWKOTX2ya3mc82lfOPSl+2UxIPYnudpGNdWuEg6KLMwjkM9SdgqbAXk1J6y2asgQcVZF17qn3TPOmeCI3AYn2wEg2boY2BU4UfYmErDYDbrreqG9mFNXAozb18cNnSnITscUdxJnA/ThZJgZHqMxm+pPx33Pw4rGO7G/QBBpWwtT+gIWHUjMqa9FK56WOlTuAg5TXsfL0xddKH+mC+Bfbx+hJD/IjMpsMhYkhuS8g+1hUIoMjn2Fp4hPz15DD1E4UAlMMr9NHecLZiKOFtmtzmdcDUIj0SjvE1mZMPQEOj0ii9htT+kLiwzl6yU1MwmewaHBfY0yNeYcCYXLF9i54AvL2M9BiA8nus4QUgwFU1aqmEQK/cE6yheNMqpN9jynyxde4iDdrIQaHTLdzCKAa4ZhkmTJfqYcQ6TyV2mf+zkYWwNOyUZsa0Pdv2GSR2Zuq9ToHJvApyPP213fJcr8WH5yqtCITPlVWgGp5opbnmRtEgmcIo+td6wb6UXmE1d03naTJllH2FeOCfOJpk/++KGqExZLdKK1jK9TXCSBsHXr/I/HykwMgXkkLlv8gzNVRPqSixo7QXMbiyaCdomBjJdkCQYKNdVsHlSsmM8A8aSZZprFc/CEj/WnG8w7+eU4+wpJV6J2J8dqOLHAK0hpSaRatE/BLfkuhG2mxNYKUdVraNq+hBVwQEebGNObcjQgjqmOzF8Ofln7H4xR0ZV/+Ozw1Z7txZNrlPE57YZSBd9p/z36yaWz8gvtjK5svJRN2U4iLkFpwoDII/I5hvwzANHjhObkFhHUVtG8WHyPdASHSY1IbO+ys43tjwgXdkMmof2eZ0tFS8GFIKeJuGtR1u3B8gthWFjagsDEw3fkVVuLgZ3G2c0Q8sBv9uQslkY1GLa4RNqBVccbeYKllRQrA3vrGE59L4TeOnldEL6jk70DFMxXS6YpPNOsWfOsqLXsRMfxDKlpj6g1fBj2SWmYxKCHP16YIJOBmCiqmdpQLCC59OPzvs70Ey6OWhiIyuwiq8sa9IRSZR1G/6gaq/PDVedd+63JIdGRslWOL/3Q5vSAf6ijK7wxvHy/2xLjA9/DHGht/o9KeBCIYGRkaHb6AjXOHgXC7qHtqm0IwdY7NjZKO2WvNbUcjbPgRFlKH9tuVfO7rSyhyjiT0qG6MkVhwrvPPgeXYcUOvD1HWqYcYqbSXgXEGMT9ootnKsxMTLntWmtKXAclYw8R5fuJlXIqh2PK6Cw6kqN9rB87KEqtfe+hFh6WWZv5OiUkIE/MJoPjAdOvDmVaJFwfC8bJlLKwNClmQRhKlfNlzh1Cym4jWEU36BFC/YF6Lz3WEUOnkX9k7DoAzKhfLoAsL0OFInKv9i890xo0p+PEcjdOrgMmi4MHMoujpVJ/vyZ7FJiPIT3jGGBrGiCG6Fo/4m4glgc1zG0sB+49tOdyjhwgZR15BiXMII+ZbbstHL66Vbwhtes9ns9JiFJacUWV1sXultdjh5kgNmEQZRpJwi9bshiZQRVMsOZwCGuFAd85jUgQ8HfNGiNmaw3i5N9kAOXfChAocNDonIsKFifFuZ3p8IgHDc6K3fV/Bo51P/XsR/KNAHXkHtEjhJYTVGdqaa/34PtbVKhE2ru0CrQ+bU/5uHqWHuoU+5AxeAH+4xtxBjKd/PbWqDtosFdW6WVk6f31fnHCoOpTkpVQdqkjw==", "X-OriginatorOrg": "nxp.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n c5912e16-2270-417a-826b-08deaa8de8e0", "X-MS-Exchange-CrossTenant-AuthSource": "AM9PR04MB8585.eurprd04.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "05 May 2026 10:06:00.9297\n (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": "\n Kwx2JG4W23Z+iAECvHQij9XwnjMiVoyt7YcCzYmYSXWLSZCVocibJmdd+OdWtvwsPa1yoOCAP8/M5l4ryTZoXA==", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DB9PR04MB8363" }, "content": "Currently, phy_set_mode_ext() on the QMP UFS PHY makes no change to the\nhardware state, instead it is mandatory that phy_power_on() followed by\nphy_calibrate() be run afterwards, for the new mode to be picked up.\n\nBy absorbing the phy_power_off() -> ... -> phy_power_on() ->\nphy_calibrate() surrounding sequence into phy_set_mode_ext(), the UFS\nHCD consumer driver can be greatly simplified, and we also have a proper\nself-standing phy_set_mode_ext() implementation which does not rely on\nother calls to do its job.\n\nSo simplify ufs_qcom_power_up_sequence() to only call phy_set_mode_ext()\nand let PHY power management be handled just by ufs_qcom_setup_clocks().\nActually, after this change, ufs_qcom_power_up_sequence() becomes an\ninadequate name, since from the consumer perspective the powering up is\ninvisible. So change it to ufs_qcom_phy_change_mode().\n\nThe consumer and the provider are modified at once because ufs-qcom.c\nalready calls phy_set_mode_ext() while the QMP PHY is powered on, so\nintroducing the extra logic in qmp_ufs_set_mode() would cause a\npotentially breaking second QMP PHY power sequence until the consumer is\npatched to remove its own calls.\n\nSigned-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>\n---\nCc: Can Guo <quic_cang@quicinc.com>\nCc: \"James E.J. Bottomley\" <James.Bottomley@HansenPartnership.com>\nCc: \"Martin K. Petersen\" <martin.petersen@oracle.com>\nCc: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>\nCc: Nitin Rawat <quic_nitirawa@quicinc.com>\nCc: Manivannan Sadhasivam <mani@kernel.org>\n\nv7->v8: patch is new\nCommit was previously posted here but did not get any testing.\nhttps://lore.kernel.org/linux-phy/20260327112858.r5lpqygtvsane2vf@skbuf/\n\nSigned-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>\n---\n drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 6 ++++++\n drivers/ufs/host/ufs-qcom.c | 25 +++++--------------------\n 2 files changed, 11 insertions(+), 20 deletions(-)", "diff": "diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c b/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c\nindex 771bc7c2ab50..e4e7966eb39a 100644\n--- a/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c\n+++ b/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c\n@@ -2012,6 +2012,12 @@ static int qmp_ufs_set_mode(struct phy *phy, enum phy_mode mode, int submode)\n \tqmp->mode = mode;\n \tqmp->submode = submode;\n \n+\tif (phy->power_count) {\n+\t\tqmp_ufs_power_off(phy);\n+\t\tqmp_ufs_power_on(phy);\n+\t\treturn qmp_ufs_phy_calibrate(phy);\n+\t}\n+\n \treturn 0;\n }\n \ndiff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c\nindex 9039b087bf21..e28edcfd13a1 100644\n--- a/drivers/ufs/host/ufs-qcom.c\n+++ b/drivers/ufs/host/ufs-qcom.c\n@@ -485,7 +485,7 @@ static u32 ufs_qcom_get_hs_gear(struct ufs_hba *hba)\n \treturn UFS_HS_G3;\n }\n \n-static int ufs_qcom_power_up_sequence(struct ufs_hba *hba)\n+static int ufs_qcom_phy_change_mode(struct ufs_hba *hba)\n {\n \tstruct ufs_qcom_host *host = ufshcd_get_variant(hba);\n \tstruct ufs_host_params *host_params = &host->host_params;\n@@ -508,26 +508,11 @@ static int ufs_qcom_power_up_sequence(struct ufs_hba *hba)\n \tif (ret)\n \t\treturn ret;\n \n-\tif (phy->power_count)\n-\t\tphy_power_off(phy);\n-\n-\n-\t/* phy initialization - calibrate the phy */\n \tret = phy_set_mode_ext(phy, mode, host->phy_gear);\n-\tif (ret)\n-\t\tgoto out_disable_phy;\n-\n-\t/* power on phy - start serdes and phy's power and clocks */\n-\tret = phy_power_on(phy);\n-\tif (ret) {\n-\t\tdev_err(hba->dev, \"%s: phy power on failed, ret = %d\\n\",\n-\t\t\t__func__, ret);\n-\t\treturn ret;\n-\t}\n-\n-\tret = phy_calibrate(phy);\n \tif (ret) {\n-\t\tdev_err(hba->dev, \"Failed to calibrate PHY: %d\\n\", ret);\n+\t\tdev_err(hba->dev,\n+\t\t\t\"Failed to change PHY mode %d submode %d: %pe\\n\",\n+\t\t\tmode, host->phy_gear, ERR_PTR(ret));\n \t\treturn ret;\n \t}\n \n@@ -582,7 +567,7 @@ static int ufs_qcom_hce_enable_notify(struct ufs_hba *hba,\n \n \tswitch (status) {\n \tcase PRE_CHANGE:\n-\t\terr = ufs_qcom_power_up_sequence(hba);\n+\t\terr = ufs_qcom_phy_change_mode(hba);\n \t\tif (err)\n \t\t\treturn err;\n \n", "prefixes": [ "v8", "phy-next", "12/31" ] }