diff options
| author | Rodolfo Giometti <giometti@linux.it> | 2006-08-05 15:14:22 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-08-06 11:57:47 -0400 |
| commit | bb39e419740435b7fbb0314e376ba468be7db67a (patch) | |
| tree | 43af0079ae65f952453fdc46e9bd67a49fcf0bd8 | |
| parent | fd2d54300369690500fc9b1bac9440d2ee81913a (diff) | |
[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>
| -rw-r--r-- | drivers/video/au1100fb.c | 13 |
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) | |||
| 156 | 156 | ||
| 157 | info->fix.visual = FB_VISUAL_TRUECOLOR; | 157 | info->fix.visual = FB_VISUAL_TRUECOLOR; |
| 158 | info->fix.line_length = info->var.xres_virtual << 1; /* depth=16 */ | 158 | info->fix.line_length = info->var.xres_virtual << 1; /* depth=16 */ |
| 159 | } | 159 | } |
| 160 | } else { | 160 | } else { |
| 161 | /* mono */ | 161 | /* mono */ |
| 162 | info->fix.visual = FB_VISUAL_MONO10; | 162 | info->fix.visual = FB_VISUAL_MONO10; |
| @@ -169,16 +169,11 @@ int au1100fb_setmode(struct au1100fb_device *fbdev) | |||
| 169 | 169 | ||
| 170 | /* Determine BPP mode and format */ | 170 | /* Determine BPP mode and format */ |
| 171 | fbdev->regs->lcd_control = fbdev->panel->control_base; | 171 | fbdev->regs->lcd_control = fbdev->panel->control_base; |
| 172 | |||
| 173 | fbdev->regs->lcd_intenable = 0; | ||
| 174 | fbdev->regs->lcd_intstatus = 0; | ||
| 175 | |||
| 176 | fbdev->regs->lcd_horztiming = fbdev->panel->horztiming; | 172 | fbdev->regs->lcd_horztiming = fbdev->panel->horztiming; |
| 177 | |||
| 178 | fbdev->regs->lcd_verttiming = fbdev->panel->verttiming; | 173 | fbdev->regs->lcd_verttiming = fbdev->panel->verttiming; |
| 179 | |||
| 180 | fbdev->regs->lcd_clkcontrol = fbdev->panel->clkcontrol_base; | 174 | fbdev->regs->lcd_clkcontrol = fbdev->panel->clkcontrol_base; |
| 181 | 175 | fbdev->regs->lcd_intenable = 0; | |
| 176 | fbdev->regs->lcd_intstatus = 0; | ||
| 182 | fbdev->regs->lcd_dmaaddr0 = LCD_DMA_SA_N(fbdev->fb_phys); | 177 | fbdev->regs->lcd_dmaaddr0 = LCD_DMA_SA_N(fbdev->fb_phys); |
| 183 | 178 | ||
| 184 | if (panel_is_dual(fbdev->panel)) { | 179 | if (panel_is_dual(fbdev->panel)) { |
| @@ -207,6 +202,8 @@ int au1100fb_setmode(struct au1100fb_device *fbdev) | |||
| 207 | 202 | ||
| 208 | /* Resume controller */ | 203 | /* Resume controller */ |
| 209 | fbdev->regs->lcd_control |= LCD_CONTROL_GO; | 204 | fbdev->regs->lcd_control |= LCD_CONTROL_GO; |
| 205 | mdelay(10); | ||
| 206 | au1100fb_fb_blank(VESA_NO_BLANKING, info); | ||
| 210 | 207 | ||
| 211 | return 0; | 208 | return 0; |
| 212 | } | 209 | } |
