drivers/ufs/core/ufshcd-priv.h | 6 ------ drivers/ufs/core/ufshcd.c | 10 ++++++---- drivers/ufs/host/ufs-qcom.c | 31 +++++++++++++++++++------------ drivers/ufs/host/ufs-qcom.h | 5 +++++ include/ufs/ufshcd.h | 2 -- 5 files changed, 30 insertions(+), 24 deletions(-)
Hi,
This series fixes the several suspend issues on Qcom platforms. Patch 1 fixes
the resume failure with spm_lvl=5 suspend on most of the Qcom platforms. For
this patch, I couldn't figure out the exact commit that caused the issue. So I
used the commit that introduced reinit support as a placeholder.
Patch 4 fixes the suspend issue on SM8550 and SM8650 platforms where UFS
PHY retention is not supported. Hence the default spm_lvl=3 suspend fails. So
this patch configures spm_lvl=5 as the default suspend level to force UFSHC/
device powerdown during suspend. This supersedes the previous series [1] that
tried to fix the issue in clock drivers.
This series is tested on Qcom SM8550 QRD, SM8650 QRD and Qcom RB5 boards.
[1] https://lore.kernel.org/linux-arm-msm/20241107-ufs-clk-fix-v1-0-6032ff22a052@linaro.org
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
---
Changes in v3:
- Added a patch that honors the runtime/system PM levels set by host drivers.
Otherwise patch 4 doesn't have any effect. This was discovered with SM8650
QRD.
- Collected tags
- Link to v2: https://lore.kernel.org/r/20241213-ufs-qcom-suspend-fix-v2-0-1de6cd2d6146@linaro.org
Changes in v2:
- Changed 'ufs_qcom_drvdata::quirks' type to 'enum ufshcd_quirks'
- Collected tags
- Link to v1: https://lore.kernel.org/r/20241211-ufs-qcom-suspend-fix-v1-0-83ebbde76b1c@linaro.org
---
Manivannan Sadhasivam (4):
scsi: ufs: qcom: Power off the PHY if it was already powered on in ufs_qcom_power_up_sequence()
scsi: ufs: core: Honor runtime/system PM levels if set by host controller drivers
scsi: ufs: qcom: Allow passing platform specific OF data
scsi: ufs: qcom: Power down the controller/device during system suspend for SM8550/SM8650 SoCs
drivers/ufs/core/ufshcd-priv.h | 6 ------
drivers/ufs/core/ufshcd.c | 10 ++++++----
drivers/ufs/host/ufs-qcom.c | 31 +++++++++++++++++++------------
drivers/ufs/host/ufs-qcom.h | 5 +++++
include/ufs/ufshcd.h | 2 --
5 files changed, 30 insertions(+), 24 deletions(-)
---
base-commit: 40384c840ea1944d7c5a392e8975ed088ecf0b37
change-id: 20241211-ufs-qcom-suspend-fix-5618e9c56d93
Best regards,
--
Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
On Thu, 19 Dec 2024 22:20:40 +0530, Manivannan Sadhasivam wrote:
> This series fixes the several suspend issues on Qcom platforms. Patch 1 fixes
> the resume failure with spm_lvl=5 suspend on most of the Qcom platforms. For
> this patch, I couldn't figure out the exact commit that caused the issue. So I
> used the commit that introduced reinit support as a placeholder.
>
> Patch 4 fixes the suspend issue on SM8550 and SM8650 platforms where UFS
> PHY retention is not supported. Hence the default spm_lvl=3 suspend fails. So
> this patch configures spm_lvl=5 as the default suspend level to force UFSHC/
> device powerdown during suspend. This supersedes the previous series [1] that
> tried to fix the issue in clock drivers.
>
> [...]
Applied to 6.13/scsi-fixes, thanks!
[1/4] scsi: ufs: qcom: Power off the PHY if it was already powered on in ufs_qcom_power_up_sequence()
https://git.kernel.org/mkp/scsi/c/7bac65687510
[2/4] scsi: ufs: core: Honor runtime/system PM levels if set by host controller drivers
https://git.kernel.org/mkp/scsi/c/bb9850704c04
[3/4] scsi: ufs: qcom: Allow passing platform specific OF data
https://git.kernel.org/mkp/scsi/c/4f78a56af4c4
[4/4] scsi: ufs: qcom: Power down the controller/device during system suspend for SM8550/SM8650 SoCs
https://git.kernel.org/mkp/scsi/c/3b2f56860b05
--
Martin K. Petersen Oracle Linux Engineering
On Thu, Dec 19, 2024 at 10:20:40PM +0530, Manivannan Sadhasivam via B4 Relay wrote: > Hi, > > This series fixes the several suspend issues on Qcom platforms. Patch 1 fixes > the resume failure with spm_lvl=5 suspend on most of the Qcom platforms. For > this patch, I couldn't figure out the exact commit that caused the issue. So I > used the commit that introduced reinit support as a placeholder. > > Patch 4 fixes the suspend issue on SM8550 and SM8650 platforms where UFS > PHY retention is not supported. Hence the default spm_lvl=3 suspend fails. So > this patch configures spm_lvl=5 as the default suspend level to force UFSHC/ > device powerdown during suspend. This supersedes the previous series [1] that > tried to fix the issue in clock drivers. > > This series is tested on Qcom SM8550 QRD, SM8650 QRD and Qcom RB5 boards. > > [1] https://lore.kernel.org/linux-arm-msm/20241107-ufs-clk-fix-v1-0-6032ff22a052@linaro.org > Martin, can you please pick up this series? - Mani > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > --- > Changes in v3: > - Added a patch that honors the runtime/system PM levels set by host drivers. > Otherwise patch 4 doesn't have any effect. This was discovered with SM8650 > QRD. > - Collected tags > - Link to v2: https://lore.kernel.org/r/20241213-ufs-qcom-suspend-fix-v2-0-1de6cd2d6146@linaro.org > > Changes in v2: > - Changed 'ufs_qcom_drvdata::quirks' type to 'enum ufshcd_quirks' > - Collected tags > - Link to v1: https://lore.kernel.org/r/20241211-ufs-qcom-suspend-fix-v1-0-83ebbde76b1c@linaro.org > > --- > Manivannan Sadhasivam (4): > scsi: ufs: qcom: Power off the PHY if it was already powered on in ufs_qcom_power_up_sequence() > scsi: ufs: core: Honor runtime/system PM levels if set by host controller drivers > scsi: ufs: qcom: Allow passing platform specific OF data > scsi: ufs: qcom: Power down the controller/device during system suspend for SM8550/SM8650 SoCs > > drivers/ufs/core/ufshcd-priv.h | 6 ------ > drivers/ufs/core/ufshcd.c | 10 ++++++---- > drivers/ufs/host/ufs-qcom.c | 31 +++++++++++++++++++------------ > drivers/ufs/host/ufs-qcom.h | 5 +++++ > include/ufs/ufshcd.h | 2 -- > 5 files changed, 30 insertions(+), 24 deletions(-) > --- > base-commit: 40384c840ea1944d7c5a392e8975ed088ecf0b37 > change-id: 20241211-ufs-qcom-suspend-fix-5618e9c56d93 > > Best regards, > -- > Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > > -- மணிவண்ணன் சதாசிவம்
© 2016 - 2025 Red Hat, Inc.