disp: msm: update POMS detection logic
Currently, SDE relies on DSI to set a flag for POMS however if a power ON modeset comes with a different mode than previously configured, DSI is unable to detect the mode change and does not set the flag nor perform the mode switch itself. DSI should always align the panel mode to match the timing node that is selected regardless of prior configurations. SDE encoder can detect if POMS is required for the INTF block without the flag from DSI by comparing the currently configured INTF mode with the panel mode that is being set. The POMS flag from DSI is still needed for any active panel mode change so that the post-modeset cleanup operations are triggered. Change-Id: Ib198b3098f21338ab35b2022b04be1c01c4cbd94 Signed-off-by: Steve Cohen <cohens@codeaurora.org>
This commit is contained in:
@@ -4931,10 +4931,8 @@ static int dsi_display_set_mode_sub(struct dsi_display *display,
|
||||
}
|
||||
|
||||
SDE_EVT32(mode->dsi_mode_flags, mode->panel_mode);
|
||||
if (mode->dsi_mode_flags & DSI_MODE_FLAG_POMS) {
|
||||
display->config.panel_mode = mode->panel_mode;
|
||||
display->panel->panel_mode = mode->panel_mode;
|
||||
}
|
||||
|
||||
display->panel->panel_mode = mode->panel_mode;
|
||||
rc = dsi_panel_get_host_cfg_for_mode(display->panel,
|
||||
mode,
|
||||
&display->config);
|
||||
|
Reference in New Issue
Block a user