OMAPDSS: DSI: disable DDR_CLK_ALWAYS_ON when entering ULPS
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Thu, 13 Oct 2011 16:22:43 +0000 (19:22 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Fri, 2 Dec 2011 06:54:19 +0000 (08:54 +0200)
ULPS cannot be entered if the DDR clk is enabled. Thus disable the DDR
clk before entering ULPS.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/omap2/dss/dsi.c

index a01a0119cc7a8d7f31c2d6b9fb7515ad145d0486..9bcb5c2511df6adec1df27c2c9e7b8f8189d2a9e 100644 (file)
@@ -3544,9 +3544,11 @@ static int dsi_enter_ulps(struct platform_device *dsidev)
        if (dsi->ulps_enabled)
                return 0;
 
+       /* DDR_CLK_ALWAYS_ON */
        if (REG_GET(dsidev, DSI_CLK_CTRL, 13, 13)) {
-               DSSERR("DDR_CLK_ALWAYS_ON enabled when entering ULPS\n");
-               return -EIO;
+               dsi_if_enable(dsidev, 0);
+               REG_FLD_MOD(dsidev, DSI_CLK_CTRL, 0, 13, 13);
+               dsi_if_enable(dsidev, 1);
        }
 
        dsi_sync_vc(dsidev, 0);