diff options
| -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 5bd957e85505..5f09d503d619 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 99b9851f8429..5ccce9b69e42 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 ccfc677c910a..83f18458a406 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 3bf1bfe29585..c87e07ebb16d 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 45252cf034b3..17b31029a793 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 | ||
