Commit 6cd52a2a authored by Neil Armstrong's avatar Neil Armstrong Committed by Vinod Koul

phy: qcom: qmp-combo: fix Display Port PHY configuration for SM8550

The SM8550 PHY also uses a different offset for the CMN_STATUS reg,
use the right one for the v6 Display Port configuration.

Fixes: 49742e9e ("phy: qcom-qmp-combo: Add support for SM8550")
Signed-off-by: default avatarNeil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: default avatarKonrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230601-topic-sm8550-upstream-dp-phy-init-fix-v1-1-4e9da9f97991@linaro.orgSigned-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 601d0627
...@@ -2151,6 +2151,7 @@ static void qmp_v4_configure_dp_tx(struct qmp_combo *qmp) ...@@ -2151,6 +2151,7 @@ static void qmp_v4_configure_dp_tx(struct qmp_combo *qmp)
static int qmp_v456_configure_dp_phy(struct qmp_combo *qmp, static int qmp_v456_configure_dp_phy(struct qmp_combo *qmp,
unsigned int com_resetm_ctrl_reg, unsigned int com_resetm_ctrl_reg,
unsigned int com_c_ready_status_reg, unsigned int com_c_ready_status_reg,
unsigned int com_cmn_status_reg,
unsigned int dp_phy_status_reg) unsigned int dp_phy_status_reg)
{ {
const struct phy_configure_opts_dp *dp_opts = &qmp->dp_opts; const struct phy_configure_opts_dp *dp_opts = &qmp->dp_opts;
...@@ -2207,14 +2208,14 @@ static int qmp_v456_configure_dp_phy(struct qmp_combo *qmp, ...@@ -2207,14 +2208,14 @@ static int qmp_v456_configure_dp_phy(struct qmp_combo *qmp,
10000)) 10000))
return -ETIMEDOUT; return -ETIMEDOUT;
if (readl_poll_timeout(qmp->dp_serdes + QSERDES_V4_COM_CMN_STATUS, if (readl_poll_timeout(qmp->dp_serdes + com_cmn_status_reg,
status, status,
((status & BIT(0)) > 0), ((status & BIT(0)) > 0),
500, 500,
10000)) 10000))
return -ETIMEDOUT; return -ETIMEDOUT;
if (readl_poll_timeout(qmp->dp_serdes + QSERDES_V4_COM_CMN_STATUS, if (readl_poll_timeout(qmp->dp_serdes + com_cmn_status_reg,
status, status,
((status & BIT(1)) > 0), ((status & BIT(1)) > 0),
500, 500,
...@@ -2250,6 +2251,7 @@ static int qmp_v4_configure_dp_phy(struct qmp_combo *qmp) ...@@ -2250,6 +2251,7 @@ static int qmp_v4_configure_dp_phy(struct qmp_combo *qmp)
ret = qmp_v456_configure_dp_phy(qmp, QSERDES_V4_COM_RESETSM_CNTRL, ret = qmp_v456_configure_dp_phy(qmp, QSERDES_V4_COM_RESETSM_CNTRL,
QSERDES_V4_COM_C_READY_STATUS, QSERDES_V4_COM_C_READY_STATUS,
QSERDES_V4_COM_CMN_STATUS,
QSERDES_V4_DP_PHY_STATUS); QSERDES_V4_DP_PHY_STATUS);
if (ret < 0) if (ret < 0)
return ret; return ret;
...@@ -2314,6 +2316,7 @@ static int qmp_v5_configure_dp_phy(struct qmp_combo *qmp) ...@@ -2314,6 +2316,7 @@ static int qmp_v5_configure_dp_phy(struct qmp_combo *qmp)
ret = qmp_v456_configure_dp_phy(qmp, QSERDES_V4_COM_RESETSM_CNTRL, ret = qmp_v456_configure_dp_phy(qmp, QSERDES_V4_COM_RESETSM_CNTRL,
QSERDES_V4_COM_C_READY_STATUS, QSERDES_V4_COM_C_READY_STATUS,
QSERDES_V4_COM_CMN_STATUS,
QSERDES_V4_DP_PHY_STATUS); QSERDES_V4_DP_PHY_STATUS);
if (ret < 0) if (ret < 0)
return ret; return ret;
...@@ -2373,6 +2376,7 @@ static int qmp_v6_configure_dp_phy(struct qmp_combo *qmp) ...@@ -2373,6 +2376,7 @@ static int qmp_v6_configure_dp_phy(struct qmp_combo *qmp)
ret = qmp_v456_configure_dp_phy(qmp, QSERDES_V6_COM_RESETSM_CNTRL, ret = qmp_v456_configure_dp_phy(qmp, QSERDES_V6_COM_RESETSM_CNTRL,
QSERDES_V6_COM_C_READY_STATUS, QSERDES_V6_COM_C_READY_STATUS,
QSERDES_V6_COM_CMN_STATUS,
QSERDES_V6_DP_PHY_STATUS); QSERDES_V6_DP_PHY_STATUS);
if (ret < 0) if (ret < 0)
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment