From 17cf90f53c02eb3361d00b42284b430f5467a886 Mon Sep 17 00:00:00 2001 From: "Manjunathappa, Prakash" Date: Fri, 20 Jul 2012 21:21:11 +0530 Subject: [PATCH] --- yaml --- r: 321091 b: refs/heads/master c: 92b4e4506550fe25c65799eebb215d47a244e635 h: refs/heads/master i: 321089: 0ce14e040fe3be0034c3161e7e0bc368e4fb55ab 321087: db7025c55fd20854e5e5ba344ff16d8dbaaf1f3c v: v3 --- [refs] | 2 +- trunk/drivers/video/da8xx-fb.c | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 19a827b4de8a..6df1bc91a39c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a652aa79a93a90b7db1114f6fff02952e687f196 +refs/heads/master: 92b4e4506550fe25c65799eebb215d47a244e635 diff --git a/trunk/drivers/video/da8xx-fb.c b/trunk/drivers/video/da8xx-fb.c index 6f0fb2d50c28..e81a4585902b 100644 --- a/trunk/drivers/video/da8xx-fb.c +++ b/trunk/drivers/video/da8xx-fb.c @@ -269,10 +269,18 @@ static inline void lcd_enable_raster(void) { u32 reg; + /* Put LCDC in reset for several cycles */ + if (lcd_revision == LCD_VERSION_2) + /* Write 1 to reset LCDC */ + lcdc_write(LCD_CLK_MAIN_RESET, LCD_CLK_RESET_REG); + mdelay(1); + /* Bring LCDC out of reset */ if (lcd_revision == LCD_VERSION_2) lcdc_write(0, LCD_CLK_RESET_REG); + mdelay(1); + /* Above reset sequence doesnot reset register context */ reg = lcdc_read(LCD_RASTER_CTRL_REG); if (!(reg & LCD_RASTER_ENABLE)) lcdc_write(reg | LCD_RASTER_ENABLE, LCD_RASTER_CTRL_REG); @@ -286,10 +294,6 @@ static inline void lcd_disable_raster(void) reg = lcdc_read(LCD_RASTER_CTRL_REG); if (reg & LCD_RASTER_ENABLE) lcdc_write(reg & ~LCD_RASTER_ENABLE, LCD_RASTER_CTRL_REG); - - if (lcd_revision == LCD_VERSION_2) - /* Write 1 to reset LCDC */ - lcdc_write(LCD_CLK_MAIN_RESET, LCD_CLK_RESET_REG); } static void lcd_blit(int load_mode, struct da8xx_fb_par *par)