diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2011-10-12 03:10:21 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2011-12-02 01:54:13 -0500 |
commit | a702c85906390282e2aabb6cb30e448e23ee1599 (patch) | |
tree | 6d097805596e17e2b3fcfdb6c7b543e50ccbc22e /drivers/video/omap2/dss/dsi.c | |
parent | a47161a55e40203e5dae6d04df3b159551377365 (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.c | 6 |
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); |