summaryrefslogtreecommitdiff
path: root/drivers/video/omap2/dss/display.c
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2012-09-05 11:09:33 (GMT)
committerTomi Valkeinen <tomi.valkeinen@ti.com>2012-09-07 17:02:13 (GMT)
commitb82fe7f025183897880771dd7cdf725ecc148ff2 (patch)
treec780a0d02442250f3c63f285930065d14268756e /drivers/video/omap2/dss/display.c
parent66a0f9e4ac46144fb86ebe90f58ce6f416a55cd5 (diff)
downloadlinux-fsl-qoriq-b82fe7f025183897880771dd7cdf725ecc148ff2.tar.xz
OMAPDSS: fix set_timings
set_timings function of DSS's output drivers are not consistent. Some of them disable the output, set the timings, and re-enable the output. Some set the timings on the fly, while the output is enabled. And some just store the given timings, so that they will be taken into use next time the output is enabled. We require the DISPC output to be disabled when changing the timings, and so we can change all the output drivers' set_timings to just store the given timings. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/omap2/dss/display.c')
-rw-r--r--drivers/video/omap2/dss/display.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/video/omap2/dss/display.c b/drivers/video/omap2/dss/display.c
index 5bd957e..5f09d503 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,
if (r)
return r;
+ dssdev->driver->disable(dssdev);
dssdev->driver->set_timings(dssdev, &t);
+ r = dssdev->driver->enable(dssdev);
+ if (r)
+ return r;
return size;
}