diff options
author | Alison Wang <b18965@freescale.com> | 2012-08-10 10:49:07 +0800 |
---|---|---|
committer | Justin Waters <justin.waters@timesys.com> | 2012-09-12 16:50:02 -0400 |
commit | b694a4c1e5439743023ce2dc5da38566d92a9259 (patch) | |
tree | 58ce42ba9a493d36a684bbc79159286b144948fd /drivers | |
parent | 916ef83576b29c6019c1c31dbcb155301ac4a75f (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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/video/Kconfig | 7 | ||||
-rw-r--r-- | drivers/video/mvf_dcu.c | 8 |
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; } |