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