diff options
Diffstat (limited to 'drivers/video/mcde/mcde_dss.c')
-rw-r--r-- | drivers/video/mcde/mcde_dss.c | 31 |
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; |