aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/dss/dsi.c
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2011-10-12 03:10:21 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2011-12-02 01:54:13 -0500
commita702c85906390282e2aabb6cb30e448e23ee1599 (patch)
tree6d097805596e17e2b3fcfdb6c7b543e50ccbc22e /drivers/video/omap2/dss/dsi.c
parenta47161a55e40203e5dae6d04df3b159551377365 (diff)
OMAPDSS: DSI: flush posted write when entering ULPS
Flush posted write between writing the ULPS enable bits and waiting for the interrupt. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/omap2/dss/dsi.c')
-rw-r--r--drivers/video/omap2/dss/dsi.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
index 5abf8e7e7456..1331f92f11c2 100644
--- a/drivers/video/omap2/dss/dsi.c
+++ b/drivers/video/omap2/dss/dsi.c
@@ -3561,6 +3561,9 @@ static int dsi_enter_ulps(struct platform_device *dsidev)
3561 REG_FLD_MOD(dsidev, DSI_COMPLEXIO_CFG2, (1 << 0) | (1 << 1) | (1 << 2), 3561 REG_FLD_MOD(dsidev, DSI_COMPLEXIO_CFG2, (1 << 0) | (1 << 1) | (1 << 2),
3562 7, 5); 3562 7, 5);
3563 3563
3564 /* flush posted write and wait for SCP interface to finish the write */
3565 dsi_read_reg(dsidev, DSI_COMPLEXIO_CFG2);
3566
3564 if (wait_for_completion_timeout(&completion, 3567 if (wait_for_completion_timeout(&completion,
3565 msecs_to_jiffies(1000)) == 0) { 3568 msecs_to_jiffies(1000)) == 0) {
3566 DSSERR("ULPS enable timeout\n"); 3569 DSSERR("ULPS enable timeout\n");
@@ -3575,6 +3578,9 @@ static int dsi_enter_ulps(struct platform_device *dsidev)
3575 REG_FLD_MOD(dsidev, DSI_COMPLEXIO_CFG2, (0 << 0) | (0 << 1) | (0 << 2), 3578 REG_FLD_MOD(dsidev, DSI_COMPLEXIO_CFG2, (0 << 0) | (0 << 1) | (0 << 2),
3576 7, 5); 3579 7, 5);
3577 3580
3581 /* flush posted write and wait for SCP interface to finish the write */
3582 dsi_read_reg(dsidev, DSI_COMPLEXIO_CFG2);
3583
3578 dsi_cio_power(dsidev, DSI_COMPLEXIO_POWER_ULPS); 3584 dsi_cio_power(dsidev, DSI_COMPLEXIO_POWER_ULPS);
3579 3585
3580 dsi_if_enable(dsidev, false); 3586 dsi_if_enable(dsidev, false);