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

Commit c2212182 authored by Terence Hampson's avatar Terence Hampson
Browse files

msm: mdss: fix flicker during DSI mode switch



Resolve regression change I65ca10c2adad21637f8414784986aa15026fd774.
DSI mode switch should not be calling mdss_dsi_ctrl_setup prior to
issuing panel switch commands.

Change-Id: I95eb9768d8bf64251466baaa371d6c12bb699410
Signed-off-by: default avatarTerence Hampson <thampson@codeaurora.org>
parent 90c540cd
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1088,6 +1088,7 @@ int mdss_dsi_switch_mode(struct mdss_panel_data *pdata, int mode)
{
	struct mdss_dsi_ctrl_pdata *ctrl_pdata = NULL;
	struct mipi_panel_info *pinfo;
	bool dsi_ctrl_setup_needed = false;

	if (!pdata) {
		pr_err("%s: Invalid input data\n", __func__);
@@ -1110,6 +1111,7 @@ int mdss_dsi_switch_mode(struct mdss_panel_data *pdata, int mode)
	} else if (mode == MIPI_CMD_PANEL) {
		mode = SWITCH_TO_CMD_MODE;
	} else if (mode == SWITCH_RESOLUTION) {
		dsi_ctrl_setup_needed = true;
		pr_debug("Resolution switch mode selected\n");
	} else {
		pr_err("Invalid mode selected, mode=%d\n", mode);
@@ -1118,6 +1120,7 @@ int mdss_dsi_switch_mode(struct mdss_panel_data *pdata, int mode)

	mdss_dsi_clk_ctrl(ctrl_pdata, ctrl_pdata->dsi_clk_handle,
			  MDSS_DSI_ALL_CLKS, MDSS_DSI_CLK_ON);
	if (dsi_ctrl_setup_needed)
		mdss_dsi_ctrl_setup(ctrl_pdata);
	ctrl_pdata->switch_mode(pdata, mode);
	mdss_dsi_clk_ctrl(ctrl_pdata, ctrl_pdata->dsi_clk_handle,