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>
This commit is contained in:
Tomi Valkeinen 2011-10-12 10:10:21 +03:00
parent a47161a55e
commit a702c85906

View File

@ -3561,6 +3561,9 @@ static int dsi_enter_ulps(struct platform_device *dsidev)
REG_FLD_MOD(dsidev, DSI_COMPLEXIO_CFG2, (1 << 0) | (1 << 1) | (1 << 2), REG_FLD_MOD(dsidev, DSI_COMPLEXIO_CFG2, (1 << 0) | (1 << 1) | (1 << 2),
7, 5); 7, 5);
/* flush posted write and wait for SCP interface to finish the write */
dsi_read_reg(dsidev, DSI_COMPLEXIO_CFG2);
if (wait_for_completion_timeout(&completion, if (wait_for_completion_timeout(&completion,
msecs_to_jiffies(1000)) == 0) { msecs_to_jiffies(1000)) == 0) {
DSSERR("ULPS enable timeout\n"); DSSERR("ULPS enable timeout\n");
@ -3575,6 +3578,9 @@ static int dsi_enter_ulps(struct platform_device *dsidev)
REG_FLD_MOD(dsidev, DSI_COMPLEXIO_CFG2, (0 << 0) | (0 << 1) | (0 << 2), REG_FLD_MOD(dsidev, DSI_COMPLEXIO_CFG2, (0 << 0) | (0 << 1) | (0 << 2),
7, 5); 7, 5);
/* flush posted write and wait for SCP interface to finish the write */
dsi_read_reg(dsidev, DSI_COMPLEXIO_CFG2);
dsi_cio_power(dsidev, DSI_COMPLEXIO_POWER_ULPS); dsi_cio_power(dsidev, DSI_COMPLEXIO_POWER_ULPS);
dsi_if_enable(dsidev, false); dsi_if_enable(dsidev, false);