aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/omap2/dss/display.c4
-rw-r--r--drivers/video/omap2/dss/dpi.c14
-rw-r--r--drivers/video/omap2/dss/hdmi.c12
-rw-r--r--drivers/video/omap2/dss/sdi.c10
-rw-r--r--drivers/video/omap2/dss/venc.c13
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);
277void omapdss_dpi_set_timings(struct omap_dss_device *dssdev, 277void 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}
302EXPORT_SYMBOL(omapdss_dpi_set_timings); 288EXPORT_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);
152void omapdss_sdi_set_timings(struct omap_dss_device *dssdev, 152void 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}
167EXPORT_SYMBOL(omapdss_sdi_set_timings); 157EXPORT_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