Linux-PHY Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V2 0/6] Refactor phy powerup sequence
@ 2025-03-18 14:49 Nitin Rawat
  2025-03-18 14:49 ` [PATCH V2 1/6] phy: qcom-qmp-ufs: Rename qmp_ufs_enable and qmp_ufs_power_on Nitin Rawat
                   ` (5 more replies)
  0 siblings, 6 replies; 19+ messages in thread
From: Nitin Rawat @ 2025-03-18 14:49 UTC (permalink / raw)
  To: vkoul, kishon, manivannan.sadhasivam, James.Bottomley,
	martin.petersen, konrad.dybcio
  Cc: quic_rdwivedi, linux-arm-msm, linux-phy, linux-kernel, linux-scsi,
	Nitin Rawat

Refactor phy_power_on and phy_calibrate callbacks.

In Current code regulators enable, clks enable, calibrating UFS PHY,
start_serdes and polling PCS_ready_status are part of phy_power_on.

UFS PHY registers are retained after power collapse, meaning calibrating
UFS PHY, start_serdes and polling PCS_ready_status can be done only when
hba is powered_on, and not needed every time when phy_power_on is called
during resume. Hence keep the code which enables PHY's regulators & clks
in phy_power_on and move the rest steps into phy_calibrate function.

Since phy_power_on is separated out from phy calibrate, make separate calls
to phy_power_on and phy_calibrate calls from ufs qcom driver.

Also for better power saving, remove the phy_power_on/off calls from
resume/suspend path and put them to ufs_qcom_setup_clocks, so that
PHY's regulators & clks can be turned on/off along with UFS's clocks.

This patch series is tested on SM8550 QRD, SM8650 MTP , SM8750 MTP.

There is functional dependency between ufs-qcom and phy-qcom-qmp-ufs
and hence both the patches should be part of same merge window.

Changes in v2:
1. Addressed vinod koul and manivannan comment to split the phy patch
   into multiple patches.
2. Addressed vinod's comment to reuse SW_PWRDN instead of creating
   new macros SW_PWRUP in phy-qcom-qmp-ufs.c.
3. Addressed Konrad's comment to optimize mutex lock in ufs-qcom.c
4. Addressed konrad and Manivannan comment to clean debug print in
   ufs-qcom.c

Link to V1: https://lore.kernel.org/linux-kernel/20240112153348.2778-1-quic_nitirawa@quicinc.com/
---
Nitin Rawat (6):
  phy: qcom-qmp-ufs: Rename qmp_ufs_enable and qmp_ufs_power_on
  phy: qcom-qmp-ufs: Refactor phy_power_on and phy_calibrate callbacks
  phy: qcom-qmp-ufs: Refactor UFS PHY reset
  phy: qcom-qmp-ufs: Refactor qmp_ufs_exit callback.
  scsi: ufs: qcom : Refactor phy_power_on/off calls
  scsi: ufs: host : Introduce phy_power_on/off wrapper function

 drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 141 ++++++++----------------
 drivers/ufs/host/ufs-qcom.c             |  92 ++++++++++------
 drivers/ufs/host/ufs-qcom.h             |   4 +
 3 files changed, 106 insertions(+), 131 deletions(-)

--
2.48.1


-- 
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy

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

end of thread, other threads:[~2025-04-10 20:04 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-18 14:49 [PATCH V2 0/6] Refactor phy powerup sequence Nitin Rawat
2025-03-18 14:49 ` [PATCH V2 1/6] phy: qcom-qmp-ufs: Rename qmp_ufs_enable and qmp_ufs_power_on Nitin Rawat
2025-03-18 15:05   ` neil.armstrong
2025-03-18 14:49 ` [PATCH V2 2/6] phy: qcom-qmp-ufs: Refactor phy_power_on and phy_calibrate callbacks Nitin Rawat
2025-03-18 15:09   ` neil.armstrong
2025-04-10  9:13     ` Nitin Rawat
2025-04-10 20:00       ` Dmitry Baryshkov
2025-03-18 14:49 ` [PATCH V2 3/6] phy: qcom-qmp-ufs: Refactor UFS PHY reset Nitin Rawat
2025-03-18 15:13   ` neil.armstrong
2025-04-10  9:09     ` Nitin Rawat
2025-03-18 19:46   ` Bjorn Andersson
2025-04-10 15:37     ` Nitin Rawat
2025-03-18 14:49 ` [PATCH V2 4/6] phy: qcom-qmp-ufs: Refactor qmp_ufs_exit callback Nitin Rawat
2025-03-18 15:15   ` neil.armstrong
2025-03-18 14:49 ` [PATCH V2 5/6] scsi: ufs: qcom : Refactor phy_power_on/off calls Nitin Rawat
2025-03-18 14:49 ` [PATCH V2 6/6] scsi: ufs: host : Introduce phy_power_on/off wrapper function Nitin Rawat
2025-03-18 17:46   ` Bart Van Assche
2025-03-18 19:50   ` Bjorn Andersson
2025-04-10 15:41     ` Nitin Rawat

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