Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 21394af5 authored by Kyle Yan's avatar Kyle Yan Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: mdss: fix pll stop sequence for msm8996 target" into msm-4.8

parents 0a8db6bd 0ed9f960
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -272,6 +272,7 @@ static void dsi_pll_disable(struct clk *c)
{
	struct dsi_pll_vco_clk *vco = to_vco_clk(c);
	struct mdss_pll_resources *pll = vco->priv;
	struct mdss_pll_resources *slave;

	if (!pll->pll_on &&
		mdss_pll_resource_enable(pll, true)) {
@@ -280,14 +281,25 @@ static void dsi_pll_disable(struct clk *c)
	}

	pll->handoff_resources = false;
	slave = pll->slave;

	dsi_pll_stop_8996(pll->pll_base);

	/* stop pll output */
	MDSS_PLL_REG_W(pll->pll_base, DSIPHY_PLL_CLKBUFLR_EN, 0);
	/* stop clk */
	MDSS_PLL_REG_W(pll->pll_base, DSIPHY_CMN_GLBL_TEST_CTRL, 0);
	/* stop digital block */
	MDSS_PLL_REG_W(pll->pll_base, DSIPHY_CMN_CTRL_0, 0x0);

	if (slave) {
		/* stop pll output */
		MDSS_PLL_REG_W(pll->pll_base, DSIPHY_PLL_CLKBUFLR_EN, 0);
		/* stop clk */
		MDSS_PLL_REG_W(pll->pll_base, DSIPHY_CMN_GLBL_TEST_CTRL, 0);
		/* stop digital block */
		MDSS_PLL_REG_W(pll->pll_base, DSIPHY_CMN_CTRL_0, 0x0);
	}

	mdss_pll_resource_enable(pll, false);