Message ID | 20250515162722.6933-9-quic_nitirawa@quicinc.com |
---|---|
State | New |
Headers | show |
Series | Refactor ufs phy powerup sequence | expand |
On Thu, May 15, 2025 at 09:57:19PM +0530, Nitin Rawat wrote: > 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: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> - Mani > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> > --- > drivers/phy/qualcomm/phy-qcom-qmp-ufs.c | 7 ------- > 1 file changed, 7 deletions(-) > > diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c b/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c > index fca47e5e8bf0..abfebf0435d8 100644 > --- a/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c > +++ b/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c > @@ -1827,13 +1827,6 @@ static int qmp_ufs_power_off(struct phy *phy) > struct qmp_ufs *qmp = phy_get_drvdata(phy); > const struct qmp_phy_cfg *cfg = qmp->cfg; > > - /* PHY reset */ > - if (!cfg->no_pcs_sw_reset) > - qphy_setbits(qmp->pcs, cfg->regs[QPHY_SW_RESET], SW_RESET); > - > - /* stop SerDes */ > - qphy_clrbits(qmp->pcs, cfg->regs[QPHY_START_CTRL], SERDES_START); > - > /* Put PHY into POWER DOWN state: active low */ > qphy_clrbits(qmp->pcs, cfg->regs[QPHY_PCS_POWER_DOWN_CONTROL], > SW_PWRDN); > -- > 2.48.1 >
diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c b/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c index fca47e5e8bf0..abfebf0435d8 100644 --- a/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c +++ b/drivers/phy/qualcomm/phy-qcom-qmp-ufs.c @@ -1827,13 +1827,6 @@ static int qmp_ufs_power_off(struct phy *phy) struct qmp_ufs *qmp = phy_get_drvdata(phy); const struct qmp_phy_cfg *cfg = qmp->cfg; - /* PHY reset */ - if (!cfg->no_pcs_sw_reset) - qphy_setbits(qmp->pcs, cfg->regs[QPHY_SW_RESET], SW_RESET); - - /* stop SerDes */ - qphy_clrbits(qmp->pcs, cfg->regs[QPHY_START_CTRL], SERDES_START); - /* Put PHY into POWER DOWN state: active low */ qphy_clrbits(qmp->pcs, cfg->regs[QPHY_PCS_POWER_DOWN_CONTROL], SW_PWRDN);