summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlison Wang <b18965@freescale.com>2012-08-10 10:49:07 +0800
committerJustin Waters <justin.waters@timesys.com>2012-09-12 16:50:02 -0400
commitb694a4c1e5439743023ce2dc5da38566d92a9259 (patch)
tree58ce42ba9a493d36a684bbc79159286b144948fd
parent916ef83576b29c6019c1c31dbcb155301ac4a75f (diff)
ENGR00220009: dcu: Add the option to enable or disable blanking support
If framebuffer console support is enabled, blanking the screen will occur after a long time. To avoid it, the option for disabling blanking is added. Signed-off-by: Alison Wang <b18965@freescale.com>
-rw-r--r--drivers/video/Kconfig7
-rw-r--r--drivers/video/mvf_dcu.c8
2 files changed, 13 insertions, 2 deletions
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index efafdee78b14..ca65437de427 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -1961,6 +1961,13 @@ config FB_MVF_DCU
---help---
Framebuffer driver for the Faraday SoC DCU
+config MVF_DCU_BLANKING_TEST
+ bool "DCU framebuffer blanking support"
+ depends on FB && ARCH_MVF && FB_MVF_DCU
+ default n
+ ---help---
+ DCU driver enable or disable blanking support for test
+
config FB_W100
tristate "W100 frame buffer support"
depends on FB && ARCH_PXA
diff --git a/drivers/video/mvf_dcu.c b/drivers/video/mvf_dcu.c
index cc4fb6c429a4..719e465b77e6 100644
--- a/drivers/video/mvf_dcu.c
+++ b/drivers/video/mvf_dcu.c
@@ -198,12 +198,14 @@ static int mvf_dcu_disable_panel(struct fb_info *info)
int i;
i = mfbi->index;
- writel(DCU_CTRLDESCLN_0_HEIGHT(0) | DCU_CTRLDESCLN_0_WIDTH(0),
+ writel(DCU_CTRLDESCLN_0_HEIGHT(layer_desc->height) |
+ DCU_CTRLDESCLN_0_WIDTH(layer_desc->width),
dcu->base + DCU_CTRLDESCLN_0(i));
writel(DCU_CTRLDESCLN_1_POSY(0) | DCU_CTRLDESCLN_1_POSX(0),
dcu->base + DCU_CTRLDESCLN_1(i));
writel(layer_desc->addr, dcu->base + DCU_CTRLDESCLN_2(i));
- writel(DCU_CTRLDESCLN_3_EN(0), dcu->base + DCU_CTRLDESCLN_3(i));
+ writel(DCU_CTRLDESCLN_3_EN(0) | DCU_CTRLDESCLN_3_TRANS(0),
+ dcu->base + DCU_CTRLDESCLN_3(i));
writel(DCU_CTRLDESCLN_4_CKMAX_R(0xff) |
DCU_CTRLDESCLN_4_CKMAX_G(0xff) |
DCU_CTRLDESCLN_4_CKMAX_B(0xff),
@@ -623,6 +625,7 @@ static int mvf_dcu_blank(int blank_mode, struct fb_info *info)
{
struct mfb_info *mfbi = info->par;
+#ifdef CONFIG_MVF_DCU_BLANKING_TEST
mfbi->blank = blank_mode;
switch (blank_mode) {
@@ -638,6 +641,7 @@ static int mvf_dcu_blank(int blank_mode, struct fb_info *info)
mvf_dcu_enable_panel(info);
break;
}
+#endif
return 0;
}