mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] scsi: ufs: qcom: Power down UFS during system suspend on Milos
@ 2026-10-05 17:02 Alexander Koskovich
  2026-10-09 20:30 ` Jorijn van der Graaf
  2026-10-24  3:09 ` Martin K. Petersen
  0 siblings, 2 replies; 3+ messages in thread
From: Alexander Koskovich @ 2026-10-05 17:02 UTC (permalink / raw)
  To: Manivannan Sadhasivam, James E.J. Bottomley, Martin K. Petersen,
	Abel Vesa, Konrad Dybcio, Luca Weiss, Bjorn Andersson,
	Dmitry Baryshkov
  Cc: linux-arm-msm, linux-scsi, linux-kernel, Alexander Koskovich

On Milos the UFS PHY GDSC is turned off on every system suspend and the
PHY loses its register state, so exiting hibern8 on resume fails:

ufshcd-qcom 1d84000.ufshc: pwr ctrl cmd 0x18 with (MIBattribute 0x0, mode 0x0) failed, host upmcrs:0x5
ufshcd-qcom 1d84000.ufshc: ufshcd_uic_hibern8_exit: hibern8 exit failed. ret = 5
ufshcd-qcom 1d84000.ufshc: __ufshcd_wl_resume: hibern8 exit failed 5

Set no_phy_retention so the controller and device are powered down
during system suspend and the link is brought up again on resume.

Fixes: 04bb37433330 ("arm64: dts: qcom: milos: Add UFS nodes")
Signed-off-by: Alexander Koskovich <akoskovich@pm.me>
---
 drivers/ufs/host/ufs-qcom.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c
index 7e6cb6dc42d1..e979850c05cb 100644
--- a/drivers/ufs/host/ufs-qcom.c
+++ b/drivers/ufs/host/ufs-qcom.c
@@ -3033,6 +3033,10 @@ static void ufs_qcom_remove(struct platform_device *pdev)
 		platform_device_msi_free_irqs_all(hba->dev);
 }
 
+static const struct ufs_qcom_drvdata ufs_qcom_milos_drvdata = {
+	.no_phy_retention = true,
+};
+
 static const struct ufs_qcom_drvdata ufs_qcom_sm8550_drvdata = {
 	.quirks = UFSHCD_QUIRK_BROKEN_LSDBS_CAP,
 	.no_phy_retention = true,
@@ -3044,6 +3048,7 @@ static const struct ufs_qcom_drvdata ufs_qcom_sa8255p_drvdata = {
 
 static const struct of_device_id ufs_qcom_of_match[] __maybe_unused = {
 	{ .compatible = "qcom,ufshc" },
+	{ .compatible = "qcom,milos-ufshc", .data = &ufs_qcom_milos_drvdata },
 	{ .compatible = "qcom,sm8550-ufshc", .data = &ufs_qcom_sm8550_drvdata },
 	{ .compatible = "qcom,sm8650-ufshc", .data = &ufs_qcom_sm8550_drvdata },
 	{ .compatible = "qcom,sa8255p-ufshc", .data = &ufs_qcom_sa8255p_drvdata },

---
base-commit: bf1ee2bd5c2da8992f33c8950ef194aaff74ed6c
change-id: 20261005-milos-ufs-suspend-7dd7439543a6

Best regards,
--  
Alexander Koskovich <akoskovich@pm.me>



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-10-24  3:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-05 17:02 [PATCH] scsi: ufs: qcom: Power down UFS during system suspend on Milos Alexander Koskovich
2026-10-09 20:30 ` Jorijn van der Graaf
2026-10-24  3:09 ` Martin K. Petersen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®