diff options
Diffstat (limited to 'drivers/video/omap2/dss')
-rw-r--r-- | drivers/video/omap2/dss/hdmi.c | 13 | ||||
-rw-r--r-- | drivers/video/omap2/dss/hdmi_panel.c | 7 |
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 | ||
581 | int omapdss_hdmi_display_enable(struct omap_dss_device *dssdev) | 590 | int 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 | } |