diff options
author | Sandor Yu <R01008@freescale.com> | 2013-11-13 10:13:14 +0800 |
---|---|---|
committer | Sandor Yu <R01008@freescale.com> | 2013-11-13 12:59:37 +0800 |
commit | 24df83d816825b832944f1bba7c1a92b00629652 (patch) | |
tree | 7487f88145475c0c290ba4717e21bb135998f7fb /drivers/video | |
parent | afad905b249ba9a2d0d10d4ba190f80bb3ccc593 (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.c | 4 |
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); } |