* [PATCH v2 0/2] phy: qcom-qmp: pipe clock fixes @ 2022-05-02 13:31 ` Johan Hovold 0 siblings, 0 replies; 8+ messages in thread From: Johan Hovold @ 2022-05-02 13:31 UTC (permalink / raw) To: Vinod Koul, Kishon Vijay Abraham I Cc: Andy Gross, Bjorn Andersson, linux-arm-msm, linux-phy, linux-kernel, Johan Hovold This series fixes a pipe clock imbalance on PHY power-on failures and renames some error labels in order to improve readability and avoid future bugs in the same category. Both patches can be applied for -next. Johan Changes in v2: - drop kernel doc fix which has been applied - split pipe-clock fix from error label rename and rename also the remaining labels in qcom_qmp_phy_com_init() in a separate patch Johan Hovold (2): phy: qcom-qmp: fix pipe-clock imbalance on power-on failure phy: qcom-qmp: rename error labels drivers/phy/qualcomm/phy-qcom-qmp.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) -- 2.35.1 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 0/2] phy: qcom-qmp: pipe clock fixes @ 2022-05-02 13:31 ` Johan Hovold 0 siblings, 0 replies; 8+ messages in thread From: Johan Hovold @ 2022-05-02 13:31 UTC (permalink / raw) To: Vinod Koul, Kishon Vijay Abraham I Cc: Andy Gross, Bjorn Andersson, linux-arm-msm, linux-phy, linux-kernel, Johan Hovold This series fixes a pipe clock imbalance on PHY power-on failures and renames some error labels in order to improve readability and avoid future bugs in the same category. Both patches can be applied for -next. Johan Changes in v2: - drop kernel doc fix which has been applied - split pipe-clock fix from error label rename and rename also the remaining labels in qcom_qmp_phy_com_init() in a separate patch Johan Hovold (2): phy: qcom-qmp: fix pipe-clock imbalance on power-on failure phy: qcom-qmp: rename error labels drivers/phy/qualcomm/phy-qcom-qmp.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) -- 2.35.1 -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 1/2] phy: qcom-qmp: fix pipe-clock imbalance on power-on failure 2022-05-02 13:31 ` Johan Hovold @ 2022-05-02 13:31 ` Johan Hovold -1 siblings, 0 replies; 8+ messages in thread From: Johan Hovold @ 2022-05-02 13:31 UTC (permalink / raw) To: Vinod Koul, Kishon Vijay Abraham I Cc: Andy Gross, Bjorn Andersson, linux-arm-msm, linux-phy, linux-kernel, Johan Hovold, Evan Green Make sure to disable the pipe clock also if ufs-reset deassertion fails during power on. Note that the ufs-reset is asserted in qcom_qmp_phy_com_exit(). Fixes: c9b589791fc1 ("phy: qcom: Utilize UFS reset controller") Cc: Evan Green <evgreen@chromium.org> Signed-off-by: Johan Hovold <johan+linaro@kernel.org> --- drivers/phy/qualcomm/phy-qcom-qmp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/phy/qualcomm/phy-qcom-qmp.c b/drivers/phy/qualcomm/phy-qcom-qmp.c index 8c2300bfe489..c37c0d8fea4e 100644 --- a/drivers/phy/qualcomm/phy-qcom-qmp.c +++ b/drivers/phy/qualcomm/phy-qcom-qmp.c @@ -5433,7 +5433,7 @@ static int qcom_qmp_phy_power_on(struct phy *phy) ret = reset_control_deassert(qmp->ufs_reset); if (ret) - goto err_lane_rst; + goto err_pcs_ready; qcom_qmp_phy_configure(pcs_misc, cfg->regs, cfg->pcs_misc_tbl, cfg->pcs_misc_tbl_num); -- 2.35.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 1/2] phy: qcom-qmp: fix pipe-clock imbalance on power-on failure @ 2022-05-02 13:31 ` Johan Hovold 0 siblings, 0 replies; 8+ messages in thread From: Johan Hovold @ 2022-05-02 13:31 UTC (permalink / raw) To: Vinod Koul, Kishon Vijay Abraham I Cc: Andy Gross, Bjorn Andersson, linux-arm-msm, linux-phy, linux-kernel, Johan Hovold, Evan Green Make sure to disable the pipe clock also if ufs-reset deassertion fails during power on. Note that the ufs-reset is asserted in qcom_qmp_phy_com_exit(). Fixes: c9b589791fc1 ("phy: qcom: Utilize UFS reset controller") Cc: Evan Green <evgreen@chromium.org> Signed-off-by: Johan Hovold <johan+linaro@kernel.org> --- drivers/phy/qualcomm/phy-qcom-qmp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/phy/qualcomm/phy-qcom-qmp.c b/drivers/phy/qualcomm/phy-qcom-qmp.c index 8c2300bfe489..c37c0d8fea4e 100644 --- a/drivers/phy/qualcomm/phy-qcom-qmp.c +++ b/drivers/phy/qualcomm/phy-qcom-qmp.c @@ -5433,7 +5433,7 @@ static int qcom_qmp_phy_power_on(struct phy *phy) ret = reset_control_deassert(qmp->ufs_reset); if (ret) - goto err_lane_rst; + goto err_pcs_ready; qcom_qmp_phy_configure(pcs_misc, cfg->regs, cfg->pcs_misc_tbl, cfg->pcs_misc_tbl_num); -- 2.35.1 -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 2/2] phy: qcom-qmp: rename error labels 2022-05-02 13:31 ` Johan Hovold @ 2022-05-02 13:31 ` Johan Hovold -1 siblings, 0 replies; 8+ messages in thread From: Johan Hovold @ 2022-05-02 13:31 UTC (permalink / raw) To: Vinod Koul, Kishon Vijay Abraham I Cc: Andy Gross, Bjorn Andersson, linux-arm-msm, linux-phy, linux-kernel, Johan Hovold Rename all error labels after what they are used for in order to improve readability and for consistency. Signed-off-by: Johan Hovold <johan+linaro@kernel.org> --- drivers/phy/qualcomm/phy-qcom-qmp.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/drivers/phy/qualcomm/phy-qcom-qmp.c b/drivers/phy/qualcomm/phy-qcom-qmp.c index c37c0d8fea4e..515e3ec64e17 100644 --- a/drivers/phy/qualcomm/phy-qcom-qmp.c +++ b/drivers/phy/qualcomm/phy-qcom-qmp.c @@ -5199,7 +5199,7 @@ static int qcom_qmp_phy_com_init(struct qmp_phy *qphy) ret = regulator_bulk_enable(cfg->num_vregs, qmp->vregs); if (ret) { dev_err(qmp->dev, "failed to enable regulators, err=%d\n", ret); - goto err_reg_enable; + goto err_unlock; } for (i = 0; i < cfg->num_resets; i++) { @@ -5207,7 +5207,7 @@ static int qcom_qmp_phy_com_init(struct qmp_phy *qphy) if (ret) { dev_err(qmp->dev, "%s reset assert failed\n", cfg->reset_list[i]); - goto err_rst_assert; + goto err_disable_regulators; } } @@ -5216,13 +5216,13 @@ static int qcom_qmp_phy_com_init(struct qmp_phy *qphy) if (ret) { dev_err(qmp->dev, "%s reset deassert failed\n", qphy->cfg->reset_list[i]); - goto err_rst; + goto err_assert_reset; } } ret = clk_bulk_prepare_enable(cfg->num_clks, qmp->clks); if (ret) - goto err_rst; + goto err_assert_reset; if (cfg->has_phy_dp_com_ctrl) { qphy_setbits(dp_com, QPHY_V3_DP_COM_POWER_DOWN_CTRL, @@ -5264,12 +5264,12 @@ static int qcom_qmp_phy_com_init(struct qmp_phy *qphy) return 0; -err_rst: +err_assert_reset: while (++i < cfg->num_resets) reset_control_assert(qmp->resets[i]); -err_rst_assert: +err_disable_regulators: regulator_bulk_disable(cfg->num_vregs, qmp->vregs); -err_reg_enable: +err_unlock: mutex_unlock(&qmp->phy_mutex); return ret; @@ -5375,14 +5375,14 @@ static int qcom_qmp_phy_power_on(struct phy *phy) if (ret) { dev_err(qmp->dev, "lane%d reset deassert failed\n", qphy->index); - goto err_lane_rst; + return ret; } } ret = clk_prepare_enable(qphy->pipe_clk); if (ret) { dev_err(qmp->dev, "pipe_clk enable failed err=%d\n", ret); - goto err_clk_enable; + goto err_reset_lane; } /* Tx, Rx, and PCS configurations */ @@ -5433,7 +5433,7 @@ static int qcom_qmp_phy_power_on(struct phy *phy) ret = reset_control_deassert(qmp->ufs_reset); if (ret) - goto err_pcs_ready; + goto err_disable_pipe_clk; qcom_qmp_phy_configure(pcs_misc, cfg->regs, cfg->pcs_misc_tbl, cfg->pcs_misc_tbl_num); @@ -5472,17 +5472,17 @@ static int qcom_qmp_phy_power_on(struct phy *phy) PHY_INIT_COMPLETE_TIMEOUT); if (ret) { dev_err(qmp->dev, "phy initialization timed-out\n"); - goto err_pcs_ready; + goto err_disable_pipe_clk; } } return 0; -err_pcs_ready: +err_disable_pipe_clk: clk_disable_unprepare(qphy->pipe_clk); -err_clk_enable: +err_reset_lane: if (cfg->has_lane_rst) reset_control_assert(qphy->lane_rst); -err_lane_rst: + return ret; } -- 2.35.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 2/2] phy: qcom-qmp: rename error labels @ 2022-05-02 13:31 ` Johan Hovold 0 siblings, 0 replies; 8+ messages in thread From: Johan Hovold @ 2022-05-02 13:31 UTC (permalink / raw) To: Vinod Koul, Kishon Vijay Abraham I Cc: Andy Gross, Bjorn Andersson, linux-arm-msm, linux-phy, linux-kernel, Johan Hovold Rename all error labels after what they are used for in order to improve readability and for consistency. Signed-off-by: Johan Hovold <johan+linaro@kernel.org> --- drivers/phy/qualcomm/phy-qcom-qmp.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/drivers/phy/qualcomm/phy-qcom-qmp.c b/drivers/phy/qualcomm/phy-qcom-qmp.c index c37c0d8fea4e..515e3ec64e17 100644 --- a/drivers/phy/qualcomm/phy-qcom-qmp.c +++ b/drivers/phy/qualcomm/phy-qcom-qmp.c @@ -5199,7 +5199,7 @@ static int qcom_qmp_phy_com_init(struct qmp_phy *qphy) ret = regulator_bulk_enable(cfg->num_vregs, qmp->vregs); if (ret) { dev_err(qmp->dev, "failed to enable regulators, err=%d\n", ret); - goto err_reg_enable; + goto err_unlock; } for (i = 0; i < cfg->num_resets; i++) { @@ -5207,7 +5207,7 @@ static int qcom_qmp_phy_com_init(struct qmp_phy *qphy) if (ret) { dev_err(qmp->dev, "%s reset assert failed\n", cfg->reset_list[i]); - goto err_rst_assert; + goto err_disable_regulators; } } @@ -5216,13 +5216,13 @@ static int qcom_qmp_phy_com_init(struct qmp_phy *qphy) if (ret) { dev_err(qmp->dev, "%s reset deassert failed\n", qphy->cfg->reset_list[i]); - goto err_rst; + goto err_assert_reset; } } ret = clk_bulk_prepare_enable(cfg->num_clks, qmp->clks); if (ret) - goto err_rst; + goto err_assert_reset; if (cfg->has_phy_dp_com_ctrl) { qphy_setbits(dp_com, QPHY_V3_DP_COM_POWER_DOWN_CTRL, @@ -5264,12 +5264,12 @@ static int qcom_qmp_phy_com_init(struct qmp_phy *qphy) return 0; -err_rst: +err_assert_reset: while (++i < cfg->num_resets) reset_control_assert(qmp->resets[i]); -err_rst_assert: +err_disable_regulators: regulator_bulk_disable(cfg->num_vregs, qmp->vregs); -err_reg_enable: +err_unlock: mutex_unlock(&qmp->phy_mutex); return ret; @@ -5375,14 +5375,14 @@ static int qcom_qmp_phy_power_on(struct phy *phy) if (ret) { dev_err(qmp->dev, "lane%d reset deassert failed\n", qphy->index); - goto err_lane_rst; + return ret; } } ret = clk_prepare_enable(qphy->pipe_clk); if (ret) { dev_err(qmp->dev, "pipe_clk enable failed err=%d\n", ret); - goto err_clk_enable; + goto err_reset_lane; } /* Tx, Rx, and PCS configurations */ @@ -5433,7 +5433,7 @@ static int qcom_qmp_phy_power_on(struct phy *phy) ret = reset_control_deassert(qmp->ufs_reset); if (ret) - goto err_pcs_ready; + goto err_disable_pipe_clk; qcom_qmp_phy_configure(pcs_misc, cfg->regs, cfg->pcs_misc_tbl, cfg->pcs_misc_tbl_num); @@ -5472,17 +5472,17 @@ static int qcom_qmp_phy_power_on(struct phy *phy) PHY_INIT_COMPLETE_TIMEOUT); if (ret) { dev_err(qmp->dev, "phy initialization timed-out\n"); - goto err_pcs_ready; + goto err_disable_pipe_clk; } } return 0; -err_pcs_ready: +err_disable_pipe_clk: clk_disable_unprepare(qphy->pipe_clk); -err_clk_enable: +err_reset_lane: if (cfg->has_lane_rst) reset_control_assert(qphy->lane_rst); -err_lane_rst: + return ret; } -- 2.35.1 -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2 0/2] phy: qcom-qmp: pipe clock fixes 2022-05-02 13:31 ` Johan Hovold @ 2022-05-03 4:42 ` Vinod Koul -1 siblings, 0 replies; 8+ messages in thread From: Vinod Koul @ 2022-05-03 4:42 UTC (permalink / raw) To: Johan Hovold Cc: Kishon Vijay Abraham I, Andy Gross, Bjorn Andersson, linux-arm-msm, linux-phy, linux-kernel On 02-05-22, 15:31, Johan Hovold wrote: > This series fixes a pipe clock imbalance on PHY power-on failures and > renames some error labels in order to improve readability and avoid > future bugs in the same category. > > Both patches can be applied for -next. Applied, thanks -- ~Vinod ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 0/2] phy: qcom-qmp: pipe clock fixes @ 2022-05-03 4:42 ` Vinod Koul 0 siblings, 0 replies; 8+ messages in thread From: Vinod Koul @ 2022-05-03 4:42 UTC (permalink / raw) To: Johan Hovold Cc: Kishon Vijay Abraham I, Andy Gross, Bjorn Andersson, linux-arm-msm, linux-phy, linux-kernel On 02-05-22, 15:31, Johan Hovold wrote: > This series fixes a pipe clock imbalance on PHY power-on failures and > renames some error labels in order to improve readability and avoid > future bugs in the same category. > > Both patches can be applied for -next. Applied, thanks -- ~Vinod -- linux-phy mailing list linux-phy@lists.infradead.org https://lists.infradead.org/mailman/listinfo/linux-phy ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2022-05-03 4:42 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-05-02 13:31 [PATCH v2 0/2] phy: qcom-qmp: pipe clock fixes Johan Hovold 2022-05-02 13:31 ` Johan Hovold 2022-05-02 13:31 ` [PATCH v2 1/2] phy: qcom-qmp: fix pipe-clock imbalance on power-on failure Johan Hovold 2022-05-02 13:31 ` Johan Hovold 2022-05-02 13:31 ` [PATCH v2 2/2] phy: qcom-qmp: rename error labels Johan Hovold 2022-05-02 13:31 ` Johan Hovold 2022-05-03 4:42 ` [PATCH v2 0/2] phy: qcom-qmp: pipe clock fixes Vinod Koul 2022-05-03 4:42 ` Vinod Koul
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.