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

drm/msm/dsi/pll: call vco set rate explicitly

For a given byte clock, if VCO recalc value is exactly same as
vco set rate value, vco_set_rate does not get called assuming
VCO is already set to required value. But Due to GDSC toggle,
VCO values are erased in the HW. To make sure VCO is programmed
correctly, we forcefully call set_rate from vco_prepare.

Signed-off-by: Harigovindan P <harigovi@codeaurora.org>
Reviewed-by: Jeffrey Hugo <jeffrey.l.hugo@gmail.com>
Signed-off-by: Rob Clark <robdclark@chromium.org>

authored by

Harigovindan P and committed by
Rob Clark
c6659785 a1028dcf

+6
+6
drivers/gpu/drm/msm/dsi/pll/dsi_pll_10nm.c
··· 411 411 if (pll_10nm->slave) 412 412 dsi_pll_enable_pll_bias(pll_10nm->slave); 413 413 414 + rc = dsi_pll_10nm_vco_set_rate(hw,pll_10nm->vco_current_rate, 0); 415 + if (rc) { 416 + pr_err("vco_set_rate failed, rc=%d\n", rc); 417 + return rc; 418 + } 419 + 414 420 /* Start PLL */ 415 421 pll_write(pll_10nm->phy_cmn_mmio + REG_DSI_10nm_PHY_CMN_PLL_CNTRL, 416 422 0x01);