sh: 18-bit SYS panel fix for SuperH Mobile LCDC
Magnus Damm [Thu, 6 Aug 2009 14:34:38 +0000 (14:34 +0000)]
Fix the SuperH Mobile LCDC driver to make use of the full
18-bit DRD field in the LDDRDR register. Without this patch
only 16-bit register access is possible. Needed by 18-bit
SYS panels such as the one used on kfr2r09.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>

drivers/video/sh_mobile_lcdcfb.c

index d1eb965..cff406d 100644 (file)
@@ -177,7 +177,7 @@ static unsigned long lcdc_sys_read_data(void *handle)
        udelay(1);
        lcdc_wait_bit(ch->lcdc, _LDSR, 2, 0);
 
-       return lcdc_read(ch->lcdc, _LDDRDR) & 0xffff;
+       return lcdc_read(ch->lcdc, _LDDRDR) & 0x3ffff;
 }
 
 struct sh_mobile_lcdc_sys_bus_ops sh_mobile_lcdc_sys_bus_ops = {