Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

phy: qcom-qmp-ufs: refactor qmp_ufs_power_off

In qmp_ufs_power_off, the PHY is already powered down by asserting
QPHY_PCS_POWER_DOWN_CONTROL. Therefore, additional phy_reset and
stopping SerDes are unnecessary. Also this approach does not
align with the phy HW programming guide.

Thus, refactor qmp_ufs_power_off to remove the phy_reset and stop
SerDes calls to simplify the code and ensure alignment with the PHY
HW programming guide.

Signed-off-by: Nitin Rawat <quic_nitirawa@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20250526153821.7918-10-quic_nitirawa@quicinc.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>

authored by

Nitin Rawat and committed by
Vinod Koul
a079b2d7 7f600f0e

-7
-7
drivers/phy/qualcomm/phy-qcom-qmp-ufs.c
··· 1825 1825 struct qmp_ufs *qmp = phy_get_drvdata(phy); 1826 1826 const struct qmp_phy_cfg *cfg = qmp->cfg; 1827 1827 1828 - /* PHY reset */ 1829 - if (!cfg->no_pcs_sw_reset) 1830 - qphy_setbits(qmp->pcs, cfg->regs[QPHY_SW_RESET], SW_RESET); 1831 - 1832 - /* stop SerDes */ 1833 - qphy_clrbits(qmp->pcs, cfg->regs[QPHY_START_CTRL], SERDES_START); 1834 - 1835 1828 /* Put PHY into POWER DOWN state: active low */ 1836 1829 qphy_clrbits(qmp->pcs, cfg->regs[QPHY_PCS_POWER_DOWN_CONTROL], 1837 1830 SW_PWRDN);