Commit bb39e419 authored by Rodolfo Giometti's avatar Rodolfo Giometti Committed by Linus Torvalds

[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: default avatarRodolfo Giometti <giometti@linux.it>
Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent fd2d5430
...@@ -156,7 +156,7 @@ int au1100fb_setmode(struct au1100fb_device *fbdev) ...@@ -156,7 +156,7 @@ int au1100fb_setmode(struct au1100fb_device *fbdev)
info->fix.visual = FB_VISUAL_TRUECOLOR; info->fix.visual = FB_VISUAL_TRUECOLOR;
info->fix.line_length = info->var.xres_virtual << 1; /* depth=16 */ info->fix.line_length = info->var.xres_virtual << 1; /* depth=16 */
} }
} else { } else {
/* mono */ /* mono */
info->fix.visual = FB_VISUAL_MONO10; info->fix.visual = FB_VISUAL_MONO10;
...@@ -169,16 +169,11 @@ int au1100fb_setmode(struct au1100fb_device *fbdev) ...@@ -169,16 +169,11 @@ int au1100fb_setmode(struct au1100fb_device *fbdev)
/* Determine BPP mode and format */ /* Determine BPP mode and format */
fbdev->regs->lcd_control = fbdev->panel->control_base; 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_horztiming = fbdev->panel->horztiming;
fbdev->regs->lcd_verttiming = fbdev->panel->verttiming; fbdev->regs->lcd_verttiming = fbdev->panel->verttiming;
fbdev->regs->lcd_clkcontrol = fbdev->panel->clkcontrol_base; 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); fbdev->regs->lcd_dmaaddr0 = LCD_DMA_SA_N(fbdev->fb_phys);
if (panel_is_dual(fbdev->panel)) { if (panel_is_dual(fbdev->panel)) {
...@@ -207,6 +202,8 @@ int au1100fb_setmode(struct au1100fb_device *fbdev) ...@@ -207,6 +202,8 @@ int au1100fb_setmode(struct au1100fb_device *fbdev)
/* Resume controller */ /* Resume controller */
fbdev->regs->lcd_control |= LCD_CONTROL_GO; fbdev->regs->lcd_control |= LCD_CONTROL_GO;
mdelay(10);
au1100fb_fb_blank(VESA_NO_BLANKING, info);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment