aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/dss
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/omap2/dss')
-rw-r--r--drivers/video/omap2/dss/hdmi.c13
-rw-r--r--drivers/video/omap2/dss/hdmi_panel.c7
2 files changed, 12 insertions, 8 deletions
diff --git a/drivers/video/omap2/dss/hdmi.c b/drivers/video/omap2/dss/hdmi.c
index 06a78b2ab690..f503aa495b2f 100644
--- a/drivers/video/omap2/dss/hdmi.c
+++ b/drivers/video/omap2/dss/hdmi.c
@@ -571,11 +571,20 @@ void omapdss_hdmi_display_set_timing(struct omap_dss_device *dssdev)
571 struct hdmi_cm cm; 571 struct hdmi_cm cm;
572 572
573 hdmi.custom_set = 1; 573 hdmi.custom_set = 1;
574
574 cm = hdmi_get_code(&dssdev->panel.timings); 575 cm = hdmi_get_code(&dssdev->panel.timings);
575 hdmi.code = cm.code; 576 hdmi.code = cm.code;
576 hdmi.mode = cm.mode; 577 hdmi.mode = cm.mode;
577 omapdss_hdmi_display_enable(dssdev); 578
578 hdmi.custom_set = 0; 579 if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) {
580 int r;
581
582 hdmi_power_off(dssdev);
583
584 r = hdmi_power_on(dssdev);
585 if (r)
586 DSSERR("failed to power on device\n");
587 }
579} 588}
580 589
581int omapdss_hdmi_display_enable(struct omap_dss_device *dssdev) 590int omapdss_hdmi_display_enable(struct omap_dss_device *dssdev)
diff --git a/drivers/video/omap2/dss/hdmi_panel.c b/drivers/video/omap2/dss/hdmi_panel.c
index e30182f5fecf..8c851e624ee6 100644
--- a/drivers/video/omap2/dss/hdmi_panel.c
+++ b/drivers/video/omap2/dss/hdmi_panel.c
@@ -161,12 +161,7 @@ static void hdmi_set_timings(struct omap_dss_device *dssdev,
161 mutex_lock(&hdmi.hdmi_lock); 161 mutex_lock(&hdmi.hdmi_lock);
162 162
163 dssdev->panel.timings = *timings; 163 dssdev->panel.timings = *timings;
164 164 omapdss_hdmi_display_set_timing(dssdev);
165 if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) {
166 /* turn the hdmi off and on to get new timings to use */
167 omapdss_hdmi_display_disable(dssdev);
168 omapdss_hdmi_display_set_timing(dssdev);
169 }
170 165
171 mutex_unlock(&hdmi.hdmi_lock); 166 mutex_unlock(&hdmi.hdmi_lock);
172} 167}