aboutsummaryrefslogtreecommitdiff
path: root/drivers/video/mcde/mcde_dss.c
diff options
context:
space:
mode:
authorDan Johansson <dan.johansson@stericsson.com>2010-07-01 15:11:24 +0200
committerJohn Rigby <john.rigby@linaro.org>2010-09-02 22:45:50 -0600
commit574724fbbb1bd2f78ee1a626dfa18cf707c741ab (patch)
treeb4984ed38c86b35e862c90bc1ac6acc8a9810381 /drivers/video/mcde/mcde_dss.c
parent50a1ade75cf1e3c2ff203b6447c59909b1f6fb84 (diff)
MCDE: V-sync on main and sub display using DSI BTA
* V-sync support for both primary and secondary display. * V-sync is disabled by default. It is enabled in menuconfig (System Type -> Display selection -> Enable v-sync for primary / secondary display). * DSI HS clock is set to 840 MHz, DSI esq clock 19.2 MHz. * Enables VAUX1 if startup graphics is enabled. ST Ericsson Change-Id: WP264234 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/2154 Tested-by: Dan JOHANSSON <dan.johansson@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com> Change-Id: I47f72cb9449e08f089f6bdb25988bd9958644899 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/2809
Diffstat (limited to 'drivers/video/mcde/mcde_dss.c')
-rw-r--r--drivers/video/mcde/mcde_dss.c31
1 files changed, 14 insertions, 17 deletions
diff --git a/drivers/video/mcde/mcde_dss.c b/drivers/video/mcde/mcde_dss.c
index d6930a6ad70..846d7c33e33 100644
--- a/drivers/video/mcde/mcde_dss.c
+++ b/drivers/video/mcde/mcde_dss.c
@@ -67,8 +67,7 @@ static int apply_overlay(struct mcde_overlay *ovly,
/* MCDE DSS operations */
-int mcde_dss_enable_display(struct mcde_display_device *ddev,
- bool display_initialized)
+int mcde_dss_enable_display(struct mcde_display_device *ddev)
{
int ret;
struct mcde_chnl_state *chnl;
@@ -84,22 +83,20 @@ int mcde_dss_enable_display(struct mcde_display_device *ddev,
goto get_chnl_failed;
}
ddev->chnl_state = chnl;
- if (!display_initialized) {
- /* Initiate display communication */
- ret = ddev->set_power_mode(ddev, MCDE_DISPLAY_PM_STANDBY);
- if (ret < 0) {
- dev_warn(&ddev->dev, "Failed to initialize display\n");
- goto display_failed;
- }
-
- dev_dbg(&ddev->dev, "Display enabled, chnl=%d\n",
- ddev->chnl_id);
- } else {
- dev_dbg(&ddev->dev, "Display already enabled, chnl=%d\n",
- ddev->chnl_id);
- ddev->power_mode = MCDE_DISPLAY_PM_ON;
- ret = 0;
+ /* Initiate display communication */
+ ret = ddev->set_power_mode(ddev, MCDE_DISPLAY_PM_STANDBY);
+ if (ret < 0) {
+ dev_warn(&ddev->dev, "Failed to initialize display\n");
+ goto display_failed;
}
+
+ ret = ddev->set_synchronized_update(ddev, ddev->synchronized_update);
+ if (ret < 0)
+ dev_warn(&ddev->dev, "Failed to set sync\n");
+ /* TODO: call driver for all defaults like sync_update above */
+
+ dev_dbg(&ddev->dev, "Display enabled, chnl=%d\n",
+ ddev->chnl_id);
ddev->enabled = true;
out:
return ret;