Commit d01ec7ad authored by Imre Deak's avatar Imre Deak Committed by James Toy

- value and register offset was swapped in a dispc write

- DISPC_CONTROL register was used instead of DISPC_SYSCONFIG
- FIFO size bit field had incorrect length for OMAP3
Fixed-by: default avatararun <arunedarath@mistralsolutions.com>
Fixed-by: default avatarKalle Jokiniemi <ext-kalle.jokiniemi@nokia.com>
Fixed-by: default avatarAndrzej Zaborowski <balrog@zabor.org>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
Signed-off-by: default avatarImre Deak <imre.deak@nokia.com>
Acked-by: default avatarKrzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 3ad0d2fe
...@@ -286,7 +286,7 @@ static void setup_plane_fifo(int plane, int ext_mode) ...@@ -286,7 +286,7 @@ static void setup_plane_fifo(int plane, int ext_mode)
BUG_ON(plane > 2); BUG_ON(plane > 2);
l = dispc_read_reg(fsz_reg[plane]); l = dispc_read_reg(fsz_reg[plane]);
l &= FLD_MASK(0, 9); l &= FLD_MASK(0, 11);
if (ext_mode) { if (ext_mode) {
low = l * 3 / 4; low = l * 3 / 4;
high = l; high = l;
...@@ -294,7 +294,7 @@ static void setup_plane_fifo(int plane, int ext_mode) ...@@ -294,7 +294,7 @@ static void setup_plane_fifo(int plane, int ext_mode)
low = l / 4; low = l / 4;
high = l * 3 / 4; high = l * 3 / 4;
} }
MOD_REG_FLD(ftrs_reg[plane], FLD_MASK(16, 9) | FLD_MASK(0, 9), MOD_REG_FLD(ftrs_reg[plane], FLD_MASK(16, 12) | FLD_MASK(0, 12),
(high << 16) | low); (high << 16) | low);
} }
...@@ -1397,7 +1397,7 @@ static int omap_dispc_init(struct omapfb_device *fbdev, int ext_mode, ...@@ -1397,7 +1397,7 @@ static int omap_dispc_init(struct omapfb_device *fbdev, int ext_mode,
} }
/* Enable smart idle and autoidle */ /* Enable smart idle and autoidle */
l = dispc_read_reg(DISPC_CONTROL); l = dispc_read_reg(DISPC_SYSCONFIG);
l &= ~((3 << 12) | (3 << 3)); l &= ~((3 << 12) | (3 << 3));
l |= (2 << 12) | (2 << 3) | (1 << 0); l |= (2 << 12) | (2 << 3) | (1 << 0);
dispc_write_reg(DISPC_SYSCONFIG, l); dispc_write_reg(DISPC_SYSCONFIG, l);
...@@ -1409,7 +1409,7 @@ static int omap_dispc_init(struct omapfb_device *fbdev, int ext_mode, ...@@ -1409,7 +1409,7 @@ static int omap_dispc_init(struct omapfb_device *fbdev, int ext_mode,
dispc_write_reg(DISPC_CONFIG, l); dispc_write_reg(DISPC_CONFIG, l);
l = dispc_read_reg(DISPC_IRQSTATUS); l = dispc_read_reg(DISPC_IRQSTATUS);
dispc_write_reg(l, DISPC_IRQSTATUS); dispc_write_reg(DISPC_IRQSTATUS, l);
/* Enable those that we handle always */ /* Enable those that we handle always */
omap_dispc_enable_irqs(DISPC_IRQ_FRAMEMASK); omap_dispc_enable_irqs(DISPC_IRQ_FRAMEMASK);
......
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