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

Commit 6bf1a14a authored by Ingrid Gallardo's avatar Ingrid Gallardo
Browse files

msm: mdss: avoid shutting down PHY PMIC regulators



As part of the PHY shut down sequence, current driver
disable the phy pmic regulators. This is not the
expected sequence, so make sure the pmic phy
regulators stay enabled.

Change-Id: Ia65a71347666ed9fa3f6bf92fe7c573638301254
Signed-off-by: default avatarIngrid Gallardo <ingridg@codeaurora.org>
parent ca3a3f54
Loading
Loading
Loading
Loading
+2 −15
Original line number Diff line number Diff line
@@ -2223,18 +2223,8 @@ int mdss_dsi_post_clkoff_cb(void *priv,
		pdata = &ctrl->panel_data;

		for (i = DSI_MAX_PM - 1; i >= DSI_CORE_PM; i--) {
			/*
			 * if DSI state is active
			 * 1. allow to turn off the core power module.
			 * 2. allow to turn off phy power module if it is
			 * turned off
			 *
			 * allow to turn off all power modules if DSI is not
			 * active
			 */
			if ((ctrl->ctrl_state & CTRL_STATE_DSI_ACTIVE) &&
				(i != DSI_CORE_PM) &&
				(ctrl->phy_power_off && (i != DSI_PHY_PM)))
				(i != DSI_CORE_PM))
				continue;
			rc = msm_dss_enable_vreg(
				sdata->power_data[i].vreg_config,
@@ -2279,15 +2269,12 @@ int mdss_dsi_pre_clkon_cb(void *priv,
		 * 3.> CTRL_PM need to be enabled/disabled
		 *     only during unblank/blank. Their state should
		 *     not be changed during static screen.
		 * 4.> PHY_PM can be turned enabled/disabled
		 *     if phy regulators are enabled/disabled.
		 */
		pr_debug("%s: Enable DSI core power\n", __func__);
		for (i = DSI_CORE_PM; i < DSI_MAX_PM; i++) {
			if ((ctrl->ctrl_state & CTRL_STATE_DSI_ACTIVE) &&
				(!pdata->panel_info.cont_splash_enabled) &&
				(i != DSI_CORE_PM) &&
				(ctrl->phy_power_off && (i != DSI_PHY_PM)))
				(i != DSI_CORE_PM))
				continue;
			rc = msm_dss_enable_vreg(
				sdata->power_data[i].vreg_config,