disp: msm: Add support for seamless panel operating mode switch

DSI display may support video mode and command mode both and it may
support transition between these two modes.
This change adds seamless transition between these two modes for DSI
display by avoiding crtc enable/disable and panel power on/off
during modeset.

Change-Id: Id7ddaef7d1f0f7cc7d52283755bad53a246adec6
Signed-off-by: Lei Chen <chenlei@codeaurora.org>
This commit is contained in:
Lei Chen
2019-04-25 17:57:09 +08:00
committed by Gerrit - the friendly Code Review server
vanhempi e6933ff2dc
commit 21edecd3b1
12 muutettua tiedostoa jossa 376 lisäystä ja 85 poistoa

Näytä tiedosto

@@ -156,6 +156,7 @@ struct dsi_panel {
struct dsi_video_engine_cfg video_config;
struct dsi_cmd_engine_cfg cmd_config;
enum dsi_op_mode panel_mode;
bool panel_mode_switch_enabled;
struct dsi_dfps_capabilities dfps_caps;
struct dsi_panel_phy_props phy_props;
@@ -277,6 +278,11 @@ int dsi_panel_send_qsync_off_dcs(struct dsi_panel *panel,
int dsi_panel_send_roi_dcs(struct dsi_panel *panel, int ctrl_idx,
struct dsi_rect *roi);
int dsi_panel_pre_mode_switch_to_video(struct dsi_panel *panel);
int dsi_panel_pre_mode_switch_to_cmd(struct dsi_panel *panel);
int dsi_panel_mode_switch_to_cmd(struct dsi_panel *panel);
int dsi_panel_mode_switch_to_vid(struct dsi_panel *panel);
int dsi_panel_switch(struct dsi_panel *panel);
int dsi_panel_post_switch(struct dsi_panel *panel);