summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVasily Khoruzhick <anarsoul@gmail.com>2011-03-11 10:20:48 +0100
committerEric Miao <eric.y.miao@gmail.com>2011-03-16 10:37:27 +0100
commit7779cee3f45122d2f81397f55d7a14f654a0b276 (patch)
tree7486ef639f76516f24a5ffa4e0981c2da1d53fe7
parentARM: pxafb: rework pxafb overlay memory management (diff)
downloadlinux-7779cee3f45122d2f81397f55d7a14f654a0b276.tar.xz
linux-7779cee3f45122d2f81397f55d7a14f654a0b276.zip
ARM: pxafb: fix plane Z-ordering problem
pxafb_overlay_init is not right place to change Z-ordering, move it to main plane initialization. Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
-rw-r--r--drivers/video/pxafb.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c
index 0764759a2eed..e2f643ef9516 100644
--- a/drivers/video/pxafb.c
+++ b/drivers/video/pxafb.c
@@ -952,8 +952,6 @@ static void __devinit pxafb_overlay_init(struct pxafb_info *fbi)
/* mask all IU/BS/EOF/SOF interrupts */
lcd_writel(fbi, LCCR5, ~0);
- /* place overlay(s) on top of base */
- fbi->lccr0 |= LCCR0_OUC;
pr_info("PXA Overlay driver loaded successfully!\n");
}
@@ -1843,6 +1841,12 @@ static struct pxafb_info * __devinit pxafb_init_fbinfo(struct device *dev)
pxafb_decode_mach_info(fbi, inf);
+#ifdef CONFIG_FB_PXA_OVERLAY
+ /* place overlay(s) on top of base */
+ if (pxafb_overlay_supported())
+ fbi->lccr0 |= LCCR0_OUC;
+#endif
+
init_waitqueue_head(&fbi->ctrlr_wait);
INIT_WORK(&fbi->task, pxafb_task);
mutex_init(&fbi->ctrlr_lock);