diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/video/omap2/dss/display.c | 4 | ||||
-rw-r--r-- | drivers/video/omap2/dss/dpi.c | 14 | ||||
-rw-r--r-- | drivers/video/omap2/dss/hdmi.c | 12 | ||||
-rw-r--r-- | drivers/video/omap2/dss/sdi.c | 10 | ||||
-rw-r--r-- | drivers/video/omap2/dss/venc.c | 13 |
5 files changed, 4 insertions, 49 deletions
diff --git a/drivers/video/omap2/dss/display.c b/drivers/video/omap2/dss/display.c index 5bd957e8550..5f09d503d61 100644 --- a/drivers/video/omap2/dss/display.c +++ b/drivers/video/omap2/dss/display.c | |||
@@ -142,7 +142,11 @@ static ssize_t display_timings_store(struct device *dev, | |||
142 | if (r) | 142 | if (r) |
143 | return r; | 143 | return r; |
144 | 144 | ||
145 | dssdev->driver->disable(dssdev); | ||
145 | dssdev->driver->set_timings(dssdev, &t); | 146 | dssdev->driver->set_timings(dssdev, &t); |
147 | r = dssdev->driver->enable(dssdev); | ||
148 | if (r) | ||
149 | return r; | ||
146 | 150 | ||
147 | return size; | 151 | return size; |
148 | } | 152 | } |
diff --git a/drivers/video/omap2/dss/dpi.c b/drivers/video/omap2/dss/dpi.c index 99b9851f842..5ccce9b69e4 100644 --- a/drivers/video/omap2/dss/dpi.c +++ b/drivers/video/omap2/dss/dpi.c | |||
@@ -277,26 +277,12 @@ EXPORT_SYMBOL(omapdss_dpi_display_disable); | |||
277 | void omapdss_dpi_set_timings(struct omap_dss_device *dssdev, | 277 | void omapdss_dpi_set_timings(struct omap_dss_device *dssdev, |
278 | struct omap_video_timings *timings) | 278 | struct omap_video_timings *timings) |
279 | { | 279 | { |
280 | int r; | ||
281 | |||
282 | DSSDBG("dpi_set_timings\n"); | 280 | DSSDBG("dpi_set_timings\n"); |
283 | 281 | ||
284 | mutex_lock(&dpi.lock); | 282 | mutex_lock(&dpi.lock); |
285 | 283 | ||
286 | dpi.timings = *timings; | 284 | dpi.timings = *timings; |
287 | 285 | ||
288 | if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) { | ||
289 | r = dispc_runtime_get(); | ||
290 | if (r) | ||
291 | return; | ||
292 | |||
293 | dpi_set_mode(dssdev); | ||
294 | |||
295 | dispc_runtime_put(); | ||
296 | } else { | ||
297 | dss_mgr_set_timings(dssdev->manager, timings); | ||
298 | } | ||
299 | |||
300 | mutex_unlock(&dpi.lock); | 286 | mutex_unlock(&dpi.lock); |
301 | } | 287 | } |
302 | EXPORT_SYMBOL(omapdss_dpi_set_timings); | 288 | EXPORT_SYMBOL(omapdss_dpi_set_timings); |
diff --git a/drivers/video/omap2/dss/hdmi.c b/drivers/video/omap2/dss/hdmi.c index ccfc677c910..83f18458a40 100644 --- a/drivers/video/omap2/dss/hdmi.c +++ b/drivers/video/omap2/dss/hdmi.c | |||
@@ -632,18 +632,6 @@ void omapdss_hdmi_display_set_timing(struct omap_dss_device *dssdev, | |||
632 | if (t != NULL) | 632 | if (t != NULL) |
633 | hdmi.ip_data.cfg = *t; | 633 | hdmi.ip_data.cfg = *t; |
634 | 634 | ||
635 | if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) { | ||
636 | int r; | ||
637 | |||
638 | hdmi_power_off(dssdev); | ||
639 | |||
640 | r = hdmi_power_on(dssdev); | ||
641 | if (r) | ||
642 | DSSERR("failed to power on device\n"); | ||
643 | } else { | ||
644 | dss_mgr_set_timings(dssdev->manager, &t->timings); | ||
645 | } | ||
646 | |||
647 | mutex_unlock(&hdmi.lock); | 635 | mutex_unlock(&hdmi.lock); |
648 | } | 636 | } |
649 | 637 | ||
diff --git a/drivers/video/omap2/dss/sdi.c b/drivers/video/omap2/dss/sdi.c index 3bf1bfe2958..c87e07ebb16 100644 --- a/drivers/video/omap2/dss/sdi.c +++ b/drivers/video/omap2/dss/sdi.c | |||
@@ -152,17 +152,7 @@ EXPORT_SYMBOL(omapdss_sdi_display_disable); | |||
152 | void omapdss_sdi_set_timings(struct omap_dss_device *dssdev, | 152 | void omapdss_sdi_set_timings(struct omap_dss_device *dssdev, |
153 | struct omap_video_timings *timings) | 153 | struct omap_video_timings *timings) |
154 | { | 154 | { |
155 | int r; | ||
156 | |||
157 | sdi.timings = *timings; | 155 | sdi.timings = *timings; |
158 | |||
159 | if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) { | ||
160 | omapdss_sdi_display_disable(dssdev); | ||
161 | |||
162 | r = omapdss_sdi_display_enable(dssdev); | ||
163 | if (r) | ||
164 | DSSERR("failed to set new timings\n"); | ||
165 | } | ||
166 | } | 156 | } |
167 | EXPORT_SYMBOL(omapdss_sdi_set_timings); | 157 | EXPORT_SYMBOL(omapdss_sdi_set_timings); |
168 | 158 | ||
diff --git a/drivers/video/omap2/dss/venc.c b/drivers/video/omap2/dss/venc.c index 45252cf034b..17b31029a79 100644 --- a/drivers/video/omap2/dss/venc.c +++ b/drivers/video/omap2/dss/venc.c | |||
@@ -564,19 +564,6 @@ void omapdss_venc_set_timings(struct omap_dss_device *dssdev, | |||
564 | 564 | ||
565 | venc.timings = *timings; | 565 | venc.timings = *timings; |
566 | 566 | ||
567 | if (dssdev->state == OMAP_DSS_DISPLAY_ACTIVE) { | ||
568 | int r; | ||
569 | |||
570 | /* turn the venc off and on to get new timings to use */ | ||
571 | venc_power_off(dssdev); | ||
572 | |||
573 | r = venc_power_on(dssdev); | ||
574 | if (r) | ||
575 | DSSERR("failed to power on VENC\n"); | ||
576 | } else { | ||
577 | dss_mgr_set_timings(dssdev->manager, timings); | ||
578 | } | ||
579 | |||
580 | mutex_unlock(&venc.venc_lock); | 567 | mutex_unlock(&venc.venc_lock); |
581 | } | 568 | } |
582 | 569 | ||