lkml.org 
[lkml]   [2024]   [Apr]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v3] phy/qcom-qmp-combo: propagate correct return value at phy_power_on()
From
Dmitry,

Any more comments?

On 3/29/2024 12:50 PM, Kuogee Hsieh wrote:
> Currently qmp_combo_dp_power_on() always return 0 in regardless of
> return value of cfg->configure_dp_phy(). This patch propagate
> return value of cfg->configure_dp_phy() all the way back to caller.
>
> Changes in V3:
> -- add v2 changes log
>
> Changes in V2:
> -- add Fixes tag
> -- add dev_err() to qmp_v3_configure_dp_phy()
> -- add dev_err() to qmp_v4_configure_dp_phy()
>
> Fixes: 52e013d0bffa ("phy: qcom-qmp: Add support for DP in USB3+DP combo phy")
> Signed-off-by: Kuogee Hsieh <quic_khsieh@quicinc.com>
> Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
> ---
> drivers/phy/qualcomm/phy-qcom-qmp-combo.c | 13 +++++++++----
> 1 file changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
> index 36632fa..513d99d 100644
> --- a/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
> +++ b/drivers/phy/qualcomm/phy-qcom-qmp-combo.c
> @@ -2343,8 +2343,10 @@ static int qmp_v3_configure_dp_phy(struct qmp_combo *qmp)
> writel(0x05, qmp->dp_dp_phy + QSERDES_V3_DP_PHY_TX2_TX3_LANE_CTL);
>
> ret = qmp_combo_configure_dp_clocks(qmp);
> - if (ret)
> + if (ret) {
> + dev_err(qmp->dev, "dp phy configure failed, err=%d\n", ret);
> return ret;
> + }
>
> writel(0x04, qmp->dp_dp_phy + QSERDES_DP_PHY_AUX_CFG2);
> writel(0x01, qmp->dp_dp_phy + QSERDES_DP_PHY_CFG);
> @@ -2519,8 +2521,10 @@ static int qmp_v4_configure_dp_phy(struct qmp_combo *qmp)
> int ret;
>
> ret = qmp_v456_configure_dp_phy(qmp);
> - if (ret < 0)
> + if (ret < 0) {
> + dev_err(qmp->dev, "dp phy configure failed, err=%d\n", ret);
> return ret;
> + }
>
> /*
> * At least for 7nm DP PHY this has to be done after enabling link
> @@ -2754,6 +2758,7 @@ static int qmp_combo_dp_power_on(struct phy *phy)
> const struct qmp_phy_cfg *cfg = qmp->cfg;
> void __iomem *tx = qmp->dp_tx;
> void __iomem *tx2 = qmp->dp_tx2;
> + int ret;
>
> mutex_lock(&qmp->phy_mutex);
>
> @@ -2766,11 +2771,11 @@ static int qmp_combo_dp_power_on(struct phy *phy)
> cfg->configure_dp_tx(qmp);
>
> /* Configure link rate, swing, etc. */
> - cfg->configure_dp_phy(qmp);
> + ret = cfg->configure_dp_phy(qmp);
>
> mutex_unlock(&qmp->phy_mutex);
>
> - return 0;
> + return ret;
> }
>
> static int qmp_combo_dp_power_off(struct phy *phy)

\
 
 \ /
  Last update: 2024-05-27 16:22    [W:0.046 / U:1.476 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site