OSDN Git Service

phy: qcom-qmp-pcie: move power-down update
authorJohan Hovold <johan+linaro@kernel.org>
Mon, 17 Oct 2022 06:50:07 +0000 (08:50 +0200)
committerVinod Koul <vkoul@kernel.org>
Mon, 17 Oct 2022 08:15:47 +0000 (13:45 +0530)
Move the power-down-control register update that powers on the PHY to
the power-on handler so that it matches the power-off handler.

Note that the power-on handler is currently always called directly
after init.

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Link: https://lore.kernel.org/r/20221017065013.19647-6-johan+linaro@kernel.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c

index 1105d43..b42c5e1 100644 (file)
@@ -1976,7 +1976,6 @@ static int qmp_pcie_init(struct phy *phy)
        struct qmp_phy *qphy = phy_get_drvdata(phy);
        struct qcom_qmp *qmp = qphy->qmp;
        const struct qmp_phy_cfg *cfg = qphy->cfg;
-       void __iomem *pcs = qphy->pcs;
        int ret;
 
        /* turn on regulator supplies */
@@ -2002,9 +2001,6 @@ static int qmp_pcie_init(struct phy *phy)
        if (ret)
                goto err_assert_reset;
 
-       qphy_setbits(pcs, cfg->regs[QPHY_PCS_POWER_DOWN_CONTROL],
-                       cfg->pwrdn_ctrl);
-
        return 0;
 
 err_assert_reset:
@@ -2041,6 +2037,9 @@ static int qmp_pcie_power_on(struct phy *phy)
        unsigned int mask, val, ready;
        int ret;
 
+       qphy_setbits(pcs, cfg->regs[QPHY_PCS_POWER_DOWN_CONTROL],
+                       cfg->pwrdn_ctrl);
+
        if (qphy->mode == PHY_MODE_PCIE_RC)
                mode_tables = cfg->tables_rc;
        else