diff --git a/msm/dsi/dsi_pll_10nm.c b/msm/dsi/dsi_pll_10nm.c index cf641943f4f0..c1af3b524ef7 100644 --- a/msm/dsi/dsi_pll_10nm.c +++ b/msm/dsi/dsi_pll_10nm.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * Copyright (c) 2016-2020, The Linux Foundation. All rights reserved. + * Copyright (c) 2016-2021, The Linux Foundation. All rights reserved. */ #define pr_fmt(fmt) "%s: " fmt, __func__ @@ -282,6 +282,12 @@ static inline int pclk_mux_read_sel(void *context, unsigned int reg, int rc = 0; struct dsi_pll_resource *rsc = context; + /* Return cached cfg1 as its updated with cached cfg1 in pll_enable */ + if (!rsc->handoff_resources) { + *val = (rsc->cached_cfg1) & 0x3; + return rc; + } + *val = (DSI_PLL_REG_R(rsc->phy_base, reg) & 0x3); return rc;