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: Terence Hampson <thampson@codeaurora.org>
This commit is contained in:
parent
dacb6ec79e
commit
c0ae920e8b
1 changed files with 4 additions and 1 deletions
|
@ -1086,6 +1086,7 @@ int mdss_dsi_switch_mode(struct mdss_panel_data *pdata, int mode)
|
||||||
{
|
{
|
||||||
struct mdss_dsi_ctrl_pdata *ctrl_pdata = NULL;
|
struct mdss_dsi_ctrl_pdata *ctrl_pdata = NULL;
|
||||||
struct mipi_panel_info *pinfo;
|
struct mipi_panel_info *pinfo;
|
||||||
|
bool dsi_ctrl_setup_needed = false;
|
||||||
|
|
||||||
if (!pdata) {
|
if (!pdata) {
|
||||||
pr_err("%s: Invalid input data\n", __func__);
|
pr_err("%s: Invalid input data\n", __func__);
|
||||||
|
@ -1108,6 +1109,7 @@ int mdss_dsi_switch_mode(struct mdss_panel_data *pdata, int mode)
|
||||||
} else if (mode == MIPI_CMD_PANEL) {
|
} else if (mode == MIPI_CMD_PANEL) {
|
||||||
mode = SWITCH_TO_CMD_MODE;
|
mode = SWITCH_TO_CMD_MODE;
|
||||||
} else if (mode == SWITCH_RESOLUTION) {
|
} else if (mode == SWITCH_RESOLUTION) {
|
||||||
|
dsi_ctrl_setup_needed = true;
|
||||||
pr_debug("Resolution switch mode selected\n");
|
pr_debug("Resolution switch mode selected\n");
|
||||||
} else {
|
} else {
|
||||||
pr_err("Invalid mode selected, mode=%d\n", mode);
|
pr_err("Invalid mode selected, mode=%d\n", mode);
|
||||||
|
@ -1116,6 +1118,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_clk_ctrl(ctrl_pdata, ctrl_pdata->dsi_clk_handle,
|
||||||
MDSS_DSI_ALL_CLKS, MDSS_DSI_CLK_ON);
|
MDSS_DSI_ALL_CLKS, MDSS_DSI_CLK_ON);
|
||||||
|
if (dsi_ctrl_setup_needed)
|
||||||
mdss_dsi_ctrl_setup(ctrl_pdata);
|
mdss_dsi_ctrl_setup(ctrl_pdata);
|
||||||
ctrl_pdata->switch_mode(pdata, mode);
|
ctrl_pdata->switch_mode(pdata, mode);
|
||||||
mdss_dsi_clk_ctrl(ctrl_pdata, ctrl_pdata->dsi_clk_handle,
|
mdss_dsi_clk_ctrl(ctrl_pdata, ctrl_pdata->dsi_clk_handle,
|
||||||
|
|
Loading…
Add table
Reference in a new issue