summaryrefslogtreecommitdiff
path: root/drivers/video
diff options
context:
space:
mode:
authorSandor Yu <R01008@freescale.com>2013-11-13 10:13:14 +0800
committerSandor Yu <R01008@freescale.com>2013-11-13 12:59:37 +0800
commit24df83d816825b832944f1bba7c1a92b00629652 (patch)
tree7487f88145475c0c290ba4717e21bb135998f7fb /drivers/video
parentafad905b249ba9a2d0d10d4ba190f80bb3ccc593 (diff)
ENGR00287579 mxsfb: i.MX6SL clean master bit before enter suspend
Clean lcdif bus master bit when lcdif enter low power mode. Restore the master bit when lcdif back to work mode. Signed-off-by: Sandor Yu <R01008@freescale.com>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/mxsfb.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/video/mxsfb.c b/drivers/video/mxsfb.c
index a9b9ef2f5682..434c0ed201ee 100644
--- a/drivers/video/mxsfb.c
+++ b/drivers/video/mxsfb.c
@@ -440,6 +440,7 @@ static void mxsfb_enable_controller(struct fb_info *fb_info)
reg |= VDCTRL4_SYNC_SIGNALS_ON;
writel(reg, host->base + LCDC_VDCTRL4);
+ writel(CTRL_MASTER, host->base + LCDC_CTRL + REG_SET);
writel(CTRL_RUN, host->base + LCDC_CTRL + REG_SET);
/* Recovery on underflow */
@@ -472,6 +473,8 @@ static void mxsfb_disable_controller(struct fb_info *fb_info)
loop--;
}
+ writel(CTRL_MASTER, host->base + LCDC_CTRL + REG_CLR);
+
reg = readl(host->base + LCDC_VDCTRL4);
writel(reg & ~VDCTRL4_SYNC_SIGNALS_ON, host->base + LCDC_VDCTRL4);
@@ -1270,6 +1273,7 @@ static void mxsfb_shutdown(struct platform_device *pdev)
* might interfere with the BootROM's boot mode pads sampling.
*/
writel(CTRL_RUN, host->base + LCDC_CTRL + REG_CLR);
+ writel(CTRL_MASTER, host->base + LCDC_CTRL + REG_CLR);
clk_disable_axi(host);
}