Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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: 49742e9edab3 ("phy: qcom-qmp-combo: Add support for SM8550")
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230601-topic-sm8550-upstream-dp-phy-init-fix-v1-1-4e9da9f97991@linaro.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>

authored by

Neil Armstrong and committed by
Vinod Koul
6cd52a2a 601d0627

+6 -2
+6 -2
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
··· 2151 2151 static int qmp_v456_configure_dp_phy(struct qmp_combo *qmp, 2152 2152 unsigned int com_resetm_ctrl_reg, 2153 2153 unsigned int com_c_ready_status_reg, 2154 + unsigned int com_cmn_status_reg, 2154 2155 unsigned int dp_phy_status_reg) 2155 2156 { 2156 2157 const struct phy_configure_opts_dp *dp_opts = &qmp->dp_opts; ··· 2208 2207 10000)) 2209 2208 return -ETIMEDOUT; 2210 2209 2211 - if (readl_poll_timeout(qmp->dp_serdes + QSERDES_V4_COM_CMN_STATUS, 2210 + if (readl_poll_timeout(qmp->dp_serdes + com_cmn_status_reg, 2212 2211 status, 2213 2212 ((status & BIT(0)) > 0), 2214 2213 500, 2215 2214 10000)) 2216 2215 return -ETIMEDOUT; 2217 2216 2218 - if (readl_poll_timeout(qmp->dp_serdes + QSERDES_V4_COM_CMN_STATUS, 2217 + if (readl_poll_timeout(qmp->dp_serdes + com_cmn_status_reg, 2219 2218 status, 2220 2219 ((status & BIT(1)) > 0), 2221 2220 500, ··· 2251 2250 2252 2251 ret = qmp_v456_configure_dp_phy(qmp, QSERDES_V4_COM_RESETSM_CNTRL, 2253 2252 QSERDES_V4_COM_C_READY_STATUS, 2253 + QSERDES_V4_COM_CMN_STATUS, 2254 2254 QSERDES_V4_DP_PHY_STATUS); 2255 2255 if (ret < 0) 2256 2256 return ret; ··· 2316 2314 2317 2315 ret = qmp_v456_configure_dp_phy(qmp, QSERDES_V4_COM_RESETSM_CNTRL, 2318 2316 QSERDES_V4_COM_C_READY_STATUS, 2317 + QSERDES_V4_COM_CMN_STATUS, 2319 2318 QSERDES_V4_DP_PHY_STATUS); 2320 2319 if (ret < 0) 2321 2320 return ret; ··· 2376 2373 2377 2374 ret = qmp_v456_configure_dp_phy(qmp, QSERDES_V6_COM_RESETSM_CNTRL, 2378 2375 QSERDES_V6_COM_C_READY_STATUS, 2376 + QSERDES_V6_COM_CMN_STATUS, 2379 2377 QSERDES_V6_DP_PHY_STATUS); 2380 2378 if (ret < 0) 2381 2379 return ret;