diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/video/mxs/lcd_lms430.c | 6 | ||||
-rw-r--r-- | drivers/video/mxs/lcdif.c | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/drivers/video/mxs/lcd_lms430.c b/drivers/video/mxs/lcd_lms430.c index 00273b731588..c167774d5785 100644 --- a/drivers/video/mxs/lcd_lms430.c +++ b/drivers/video/mxs/lcd_lms430.c @@ -113,11 +113,17 @@ out: static void release_panel(struct device *dev, struct mxs_platform_fb_entry *pentry) { + /* Reset LCD panel signel. */ + __raw_writel(BM_LCDIF_CTRL1_RESET, + REGS_LCDIF_BASE + HW_LCDIF_CTRL1_CLR); + mdelay(100); mxs_lcdif_notify_clients(MXS_LCDIF_PANEL_RELEASE, pentry); release_dotclk_panel(); mxs_lcdif_dma_release(); clk_disable(lcd_clk); clk_put(lcd_clk); + __raw_writel(BM_LCDIF_CTRL_CLKGATE, + REGS_LCDIF_BASE + HW_LCDIF_CTRL_SET); } static int blank_panel(int blank) diff --git a/drivers/video/mxs/lcdif.c b/drivers/video/mxs/lcdif.c index 03d4abd8b85d..f7d48a6fb3e9 100644 --- a/drivers/video/mxs/lcdif.c +++ b/drivers/video/mxs/lcdif.c @@ -101,9 +101,6 @@ void mxs_lcdif_stop(void) __raw_writel(BM_LCDIF_CTRL_LCDIF_MASTER, REGS_LCDIF_BASE + HW_LCDIF_CTRL_CLR); udelay(100); - - __raw_writel(BM_LCDIF_CTRL_CLKGATE, - REGS_LCDIF_BASE + HW_LCDIF_CTRL_SET); } EXPORT_SYMBOL(mxs_lcdif_stop); |