mirror of
https://github.com/torvalds/linux.git
synced 2026-11-06 21:58:01 +01:00
scsi: ufs: qcom: Power down UFS during system suspend on Milos
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: 04bb374333 ("arm64: dts: qcom: milos: Add UFS nodes")
Signed-off-by: Alexander Koskovich <akoskovich@pm.me>
Tested-by: Jorijn van der Graaf <jorijnvdgraaf@catcrafts.net>
Link: https://patch.msgid.link/20261005-milos-ufs-suspend-v1-1-a6f8b89d5b63@pm.me
Signed-off-by: Martin K. Petersen (Oracle) <mkp@kernel.org>
This commit is contained in:
parent
192cb22c59
commit
fb2a238f15
|
|
@ -3037,6 +3037,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,
|
||||
|
|
@ -3048,6 +3052,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 },
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user