aboutsummaryrefslogtreecommitdiff
path: root/drivers/video/mcde/mcde_fb.c
diff options
context:
space:
mode:
authorJimmy Rubin <jimmy.rubin@stericsson.com>2010-10-30 20:06:10 +0200
committerSundar Iyer <sundar.iyer@stericsson.com>2010-11-19 14:47:46 +0530
commite73cecaacd918d15254b33107c5418650a00bf19 (patch)
treec5a42b0087b0957338011aaf04bc241f0a161905 /drivers/video/mcde/mcde_fb.c
parentfa0bde6c9ad87f4a954594cb5d6e34b07b608e5c (diff)
MCDE: Add support for blanking
This patch does the following: * FB_BLANK_NORMAL, FB_BLANK_UNBLANK is implemented. ST Ericsson Id: ER 260786 Change-Id: I1735f498e585e0b6dbdbadc24bdc94322f65dd53 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/8261 Tested-by: Jimmy RUBIN <jimmy.rubin@stericsson.com> Reviewed-by: Dan JOHANSSON <dan.johansson@stericsson.com> Reviewed-by: Linus WALLEIJ <linus.walleij@stericsson.com>
Diffstat (limited to 'drivers/video/mcde/mcde_fb.c')
-rw-r--r--drivers/video/mcde/mcde_fb.c31
1 files changed, 29 insertions, 2 deletions
diff --git a/drivers/video/mcde/mcde_fb.c b/drivers/video/mcde/mcde_fb.c
index 51b9a5e8bf4..3cc275fa0d5 100644
--- a/drivers/video/mcde/mcde_fb.c
+++ b/drivers/video/mcde/mcde_fb.c
@@ -518,9 +518,36 @@ static int mcde_fb_set_par(struct fb_info *fbi)
static int mcde_fb_blank(int blank, struct fb_info *fbi)
{
+ int ret = 0;
+ int i;
+ struct mcde_display_device *ddev = fb_to_display(fbi);
+ struct mcde_fb *mfb = to_mcde_fb(fbi);
+
dev_vdbg(fbi->dev, "%s\n", __func__);
- /* REVIEW: is this supposed to be empty? */
- return 0;
+
+ switch (blank) {
+ case FB_BLANK_NORMAL:
+ case FB_BLANK_VSYNC_SUSPEND:
+ case FB_BLANK_HSYNC_SUSPEND:
+ case FB_BLANK_POWERDOWN:
+ for (i = 0; i < mfb->num_ovlys; i++) {
+ struct mcde_overlay *ovly = mfb->ovlys[i];
+ mcde_dss_disable_overlay(ovly);
+ }
+ mcde_dss_disable_display(ddev);
+ break;
+ case FB_BLANK_UNBLANK:
+ ret = mcde_dss_enable_display(ddev);
+ for (i = 0; i < mfb->num_ovlys; i++) {
+ struct mcde_overlay *ovly = mfb->ovlys[i];
+ ret = mcde_dss_enable_overlay(ovly);
+ ret = mcde_dss_update_overlay(ovly);
+ }
+ break;
+ default:
+ ret = -EINVAL;
+ }
+ return ret;
}
static int mcde_fb_pan_display(struct fb_var_screeninfo *var,