summaryrefslogtreecommitdiffstats
path: root/drivers/video/au1100fb.c
diff options
context:
space:
mode:
authorRodolfo Giometti <giometti@linux.it>2006-08-05 21:14:22 +0200
committerLinus Torvalds <torvalds@g5.osdl.org>2006-08-06 17:57:47 +0200
commitbb39e419740435b7fbb0314e376ba468be7db67a (patch)
tree43af0079ae65f952453fdc46e9bd67a49fcf0bd8 /drivers/video/au1100fb.c
parent[PATCH] au1100fb: info->var.rotate fix (diff)
downloadlinux-bb39e419740435b7fbb0314e376ba468be7db67a.tar.xz
linux-bb39e419740435b7fbb0314e376ba468be7db67a.zip
[PATCH] au1100fb: Fix startup sequence
- fix up the start up sequence. This new sequence allow you to correctly enable the LCD controller even if the bootloader has already did it. - fix up a wrong indentation issue. Signed-off-by: Rodolfo Giometti <giometti@linux.it> Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/video/au1100fb.c')
-rw-r--r--drivers/video/au1100fb.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/video/au1100fb.c b/drivers/video/au1100fb.c
index 26086bf5fa80..f25d5d648333 100644
--- a/drivers/video/au1100fb.c
+++ b/drivers/video/au1100fb.c
@@ -156,7 +156,7 @@ int au1100fb_setmode(struct au1100fb_device *fbdev)
info->fix.visual = FB_VISUAL_TRUECOLOR;
info->fix.line_length = info->var.xres_virtual << 1; /* depth=16 */
- }
+ }
} else {
/* mono */
info->fix.visual = FB_VISUAL_MONO10;
@@ -169,16 +169,11 @@ int au1100fb_setmode(struct au1100fb_device *fbdev)
/* Determine BPP mode and format */
fbdev->regs->lcd_control = fbdev->panel->control_base;
-
- fbdev->regs->lcd_intenable = 0;
- fbdev->regs->lcd_intstatus = 0;
-
fbdev->regs->lcd_horztiming = fbdev->panel->horztiming;
-
fbdev->regs->lcd_verttiming = fbdev->panel->verttiming;
-
fbdev->regs->lcd_clkcontrol = fbdev->panel->clkcontrol_base;
-
+ fbdev->regs->lcd_intenable = 0;
+ fbdev->regs->lcd_intstatus = 0;
fbdev->regs->lcd_dmaaddr0 = LCD_DMA_SA_N(fbdev->fb_phys);
if (panel_is_dual(fbdev->panel)) {
@@ -207,6 +202,8 @@ int au1100fb_setmode(struct au1100fb_device *fbdev)
/* Resume controller */
fbdev->regs->lcd_control |= LCD_CONTROL_GO;
+ mdelay(10);
+ au1100fb_fb_blank(VESA_NO_BLANKING, info);
return 0;
}