Commit a1028dcf authored by Harigovindan P's avatar Harigovindan P Committed by Rob Clark
Browse files

drm/msm/dsi: save pll state before dsi host is powered off



Save pll state before dsi host is powered off. Without this change
some register values gets resetted.

Signed-off-by: default avatarHarigovindan P <harigovi@codeaurora.org>
Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
parent 9cc68ee1
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -506,6 +506,7 @@ static void dsi_mgr_bridge_post_disable(struct drm_bridge *bridge)
	struct msm_dsi *msm_dsi1 = dsi_mgr_get_dsi(DSI_1);
	struct mipi_dsi_host *host = msm_dsi->host;
	struct drm_panel *panel = msm_dsi->panel;
	struct msm_dsi_pll *src_pll;
	bool is_dual_dsi = IS_DUAL_DSI();
	int ret;

@@ -539,6 +540,10 @@ static void dsi_mgr_bridge_post_disable(struct drm_bridge *bridge)
								id, ret);
	}

	/* Save PLL status if it is a clock source */
	src_pll = msm_dsi_phy_get_pll(msm_dsi->phy);
	msm_dsi_pll_save_state(src_pll);

	ret = msm_dsi_host_power_off(host);
	if (ret)
		pr_err("%s: host %d power off failed,%d\n", __func__, id, ret);
+0 −4
Original line number Diff line number Diff line
@@ -724,10 +724,6 @@ void msm_dsi_phy_disable(struct msm_dsi_phy *phy)
	if (!phy || !phy->cfg->ops.disable)
		return;

	/* Save PLL status if it is a clock source */
	if (phy->usecase != MSM_DSI_PHY_SLAVE)
		msm_dsi_pll_save_state(phy->pll);

	phy->cfg->ops.disable(phy);

	dsi_phy_regulator_disable(phy);