aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/video/atmel_lcdfb.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/video/atmel_lcdfb.c b/drivers/video/atmel_lcdfb.c
index c5883cafa38a..2effd35da589 100644
--- a/drivers/video/atmel_lcdfb.c
+++ b/drivers/video/atmel_lcdfb.c
@@ -193,14 +193,17 @@ static struct fb_fix_screeninfo atmel_lcdfb_fix __initdata = {
193 .accel = FB_ACCEL_NONE, 193 .accel = FB_ACCEL_NONE,
194}; 194};
195 195
196static unsigned long compute_hozval(unsigned long xres, unsigned long lcdcon2) 196static unsigned long compute_hozval(struct atmel_lcdfb_info *sinfo,
197 unsigned long xres)
197{ 198{
199 unsigned long lcdcon2;
198 unsigned long value; 200 unsigned long value;
199 201
200 if (!(cpu_is_at91sam9261() || cpu_is_at91sam9g10() 202 if (!(cpu_is_at91sam9261() || cpu_is_at91sam9g10()
201 || cpu_is_at32ap7000())) 203 || cpu_is_at32ap7000()))
202 return xres; 204 return xres;
203 205
206 lcdcon2 = lcdc_readl(sinfo, ATMEL_LCDC_LCDCON2);
204 value = xres; 207 value = xres;
205 if ((lcdcon2 & ATMEL_LCDC_DISTYPE) != ATMEL_LCDC_DISTYPE_TFT) { 208 if ((lcdcon2 & ATMEL_LCDC_DISTYPE) != ATMEL_LCDC_DISTYPE_TFT) {
206 /* STN display */ 209 /* STN display */
@@ -591,8 +594,7 @@ static int atmel_lcdfb_set_par(struct fb_info *info)
591 lcdc_writel(sinfo, ATMEL_LCDC_TIM2, value); 594 lcdc_writel(sinfo, ATMEL_LCDC_TIM2, value);
592 595
593 /* Horizontal value (aka line size) */ 596 /* Horizontal value (aka line size) */
594 hozval_linesz = compute_hozval(info->var.xres, 597 hozval_linesz = compute_hozval(sinfo, info->var.xres);
595 lcdc_readl(sinfo, ATMEL_LCDC_LCDCON2));
596 598
597 /* Display size */ 599 /* Display size */
598 value = (hozval_linesz - 1) << ATMEL_LCDC_HOZVAL_OFFSET; 600 value = (hozval_linesz - 1) << ATMEL_LCDC_HOZVAL_OFFSET;