GTA01V3/V4 LCD framebuffer problem

Pierre Hébert pierrox at pierrox.net
Thu Jul 19 19:39:48 CEST 2007


Hi,

On Thursday 19 July 2007, Nils Faerber wrote:
> Hi!
> I am currently trying to get suspend/resume working with the current
> NEO GTA01 devices and encountered a strange issue...
>
> With the latest kernel 2.6.21.5 I can successfully suspend and resume
> the machine. Most devices seem to be fine after resume, including USB,
> audio, touchscreen, modem, etc.
> But the LCD just displays a blank white screen with backlight switched
> on. And this does not change anymore until reboot.

I don't know if it can help but I had the same problem on a s3c2440 and 
2.6.19. In my case I found that clkdiv was wrongly computed upon resume. 
I was not able to discover the root cause, I just used a ** really ** 
bad hack like this :
diff -Nurp linux-2.6.19/drivers/video/s3c2410fb.c 
linux-2.6.19-g500/drivers/video/s3c2410fb.c
--- linux-2.6.19/drivers/video/s3c2410fb.c  2006-11-29 22:57:37.000000000 
+0100
+++ linux-2.6.19-g500/drivers/video/s3c2410fb.c 2006-12-19 
21:21:23.000000000 +0100
@@ -287,12 +287,15 @@ static void s3c2410fb_activate_var(struc
  fbi->regs.lcdcon3 |=  S3C2410_LCDCON3_HOZVAL(var->xres - 1);

  if (var->pixclock > 0) {
+#if 0
    int clkdiv = s3c2410fb_calc_pixclk(fbi, var->pixclock);

    clkdiv = (clkdiv / 2) -1;
    if (clkdiv < 0)
      clkdiv = 0;
-
+#else
+    int clkdiv=4;
+#endif
    fbi->regs.lcdcon1 &= ~S3C2410_LCDCON1_CLKVAL(0x3ff);
    fbi->regs.lcdcon1 |=  S3C2410_LCDCON1_CLKVAL(clkdiv);
  }

(sorry for cut&paste the diff, it is just for the example)
I hope this can help, cheers.

Pierre.




More information about the openmoko-kernel mailing list