dev: gcdb: Support display pre/post on/off API
Call target display pre/post on/off API for
target specific MDP/DSI register settings,
delay config, etc.
Change-Id: Ibe1618a1cbb500249f25f567e2346c29ab9f062f
diff --git a/dev/gcdb/display/panel_display.c b/dev/gcdb/display/panel_display.c
index aed0ac8..8503760 100644
--- a/dev/gcdb/display/panel_display.c
+++ b/dev/gcdb/display/panel_display.c
@@ -151,8 +151,10 @@
pinfo->mipi.mdp_trigger = pstruct->paneltiminginfo->dsi_mdp_trigger;
pinfo->mipi.dma_trigger = pstruct->paneltiminginfo->dsi_dma_trigger;
- pinfo->on = dsi_panel_on;
- pinfo->off = dsi_panel_off;
+ pinfo->pre_on = dsi_panel_pre_on;
+ pinfo->pre_off = dsi_panel_pre_off;
+ pinfo->on = dsi_panel_post_on;
+ pinfo->off = dsi_panel_post_off;
pinfo->rotate = dsi_panel_rotation;
pinfo->config = dsi_panel_config;
@@ -163,13 +165,35 @@
/* Panel Callbacks */
/*---------------------------------------------------------------------------*/
-int dsi_panel_on()
+int dsi_panel_pre_on()
{
+ return target_display_pre_on();
+}
+
+int dsi_panel_pre_off()
+{
+ return target_display_pre_off();
+}
+
+int dsi_panel_post_on()
+{
+ int ret = NO_ERROR;
+
+ ret = target_display_post_on();
+ if (ret)
+ return ret;
+
return oem_panel_on();
}
-int dsi_panel_off()
+int dsi_panel_post_off()
{
+ int ret = NO_ERROR;
+
+ ret = target_display_post_off();
+ if (ret)
+ return ret;
+
return oem_panel_off();
}
diff --git a/dev/gcdb/display/panel_display.h b/dev/gcdb/display/panel_display.h
index 1f08326..d805715 100755
--- a/dev/gcdb/display/panel_display.h
+++ b/dev/gcdb/display/panel_display.h
@@ -67,8 +67,10 @@
int dsi_panel_init(struct msm_panel_info *pinfo,
struct panel_struct *pstruct);
-int dsi_panel_on();
-int dsi_panel_off();
+int dsi_panel_pre_on();
+int dsi_panel_post_on();
+int dsi_panel_pre_off();
+int dsi_panel_post_off();
int dsi_panel_rotation();
int dsi_panel_config(void *);