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

Commit 570a6f92 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: mdss: fix the sequence for pinctrl_set_state and panel reset"

parents 128fea90 4fa67d87
Loading
Loading
Loading
Loading
+13 −5
Original line number Original line Diff line number Diff line
@@ -27,6 +27,9 @@
#include "mdss_dsi.h"
#include "mdss_dsi.h"
#include "mdss_debug.h"
#include "mdss_debug.h"


static int mdss_dsi_pinctrl_set_state(struct mdss_dsi_ctrl_pdata *ctrl_pdata,
					bool active);

static int mdss_dsi_regulator_init(struct platform_device *pdev)
static int mdss_dsi_regulator_init(struct platform_device *pdev)
{
{
	struct mdss_dsi_ctrl_pdata *ctrl_pdata = NULL;
	struct mdss_dsi_ctrl_pdata *ctrl_pdata = NULL;
@@ -73,6 +76,9 @@ static int mdss_dsi_panel_power_on(struct mdss_panel_data *pdata, int enable)
		}
		}


		if (!pdata->panel_info.mipi.lp11_init) {
		if (!pdata->panel_info.mipi.lp11_init) {
			if (mdss_dsi_pinctrl_set_state(ctrl_pdata, true))
				pr_debug("reset enable: pinctrl not enabled\n");

			ret = mdss_dsi_panel_reset(pdata, 1);
			ret = mdss_dsi_panel_reset(pdata, 1);
			if (ret) {
			if (ret) {
				pr_err("%s: Panel reset failed. rc=%d\n",
				pr_err("%s: Panel reset failed. rc=%d\n",
@@ -91,6 +97,9 @@ static int mdss_dsi_panel_power_on(struct mdss_panel_data *pdata, int enable)
					__func__, ret);
					__func__, ret);
			goto error;
			goto error;
		}
		}
		if (mdss_dsi_pinctrl_set_state(ctrl_pdata, false))
			pr_debug("reset disable: pinctrl not enabled\n");

		ret = msm_dss_enable_vreg(
		ret = msm_dss_enable_vreg(
			ctrl_pdata->power_data.vreg_config,
			ctrl_pdata->power_data.vreg_config,
			ctrl_pdata->power_data.num_vreg, 0);
			ctrl_pdata->power_data.num_vreg, 0);
@@ -684,8 +693,11 @@ int mdss_dsi_on(struct mdss_panel_data *pdata)
	 * Issue hardware reset line after enabling the DSI clocks and data
	 * Issue hardware reset line after enabling the DSI clocks and data
	 * data lanes for LP11 init
	 * data lanes for LP11 init
	 */
	 */
	if (mipi->lp11_init)
	if (mipi->lp11_init) {
		if (mdss_dsi_pinctrl_set_state(ctrl_pdata, true))
			pr_debug("reset enable: pinctrl not enabled\n");
		mdss_dsi_panel_reset(pdata, 1);
		mdss_dsi_panel_reset(pdata, 1);
	}


	if (mipi->init_delay)
	if (mipi->init_delay)
		usleep(mipi->init_delay);
		usleep(mipi->init_delay);
@@ -775,8 +787,6 @@ static int mdss_dsi_unblank(struct mdss_panel_data *pdata)
	ctrl_pdata = container_of(pdata, struct mdss_dsi_ctrl_pdata,
	ctrl_pdata = container_of(pdata, struct mdss_dsi_ctrl_pdata,
				panel_data);
				panel_data);
	mipi  = &pdata->panel_info.mipi;
	mipi  = &pdata->panel_info.mipi;
	if (mdss_dsi_pinctrl_set_state(ctrl_pdata, true))
		pr_debug("dsi unblank: pinctrl not enabled\n");


	if (!(ctrl_pdata->ctrl_state & CTRL_STATE_PANEL_INIT)) {
	if (!(ctrl_pdata->ctrl_state & CTRL_STATE_PANEL_INIT)) {
		ret = ctrl_pdata->on(pdata);
		ret = ctrl_pdata->on(pdata);
@@ -851,8 +861,6 @@ static int mdss_dsi_blank(struct mdss_panel_data *pdata)
		}
		}
		ctrl_pdata->ctrl_state &= ~CTRL_STATE_PANEL_INIT;
		ctrl_pdata->ctrl_state &= ~CTRL_STATE_PANEL_INIT;
	}
	}
	if (mdss_dsi_pinctrl_set_state(ctrl_pdata, false))
		pr_debug("dsi blank: pinctrl not enabled\n");


	pr_debug("%s-:End\n", __func__);
	pr_debug("%s-:End\n", __func__);
	return ret;
	return ret;