aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiu Ying <Ying.Liu@freescale.com>2011-01-24 10:00:50 +0800
committerLiu Ying <Ying.Liu@freescale.com>2011-01-25 11:44:32 +0800
commit1c33a6cf7a29a7a7b7addffbbae72707df1f8468 (patch)
tree2eddca983848b99261ec8b6a2c04a5264344d297
parentc0c763f0ff11673ce413ebf1169109e91ddc0cc9 (diff)
ENGR00119661 MXC IPUv3 FB:Fix arbitary bpp issue
We used to force the framebuffer bpp to be default bpp set by the user in the kernel boot up command line. This patch fixes this issue. This patch also gets TVE framebuffer bpp value from IPUv3 framebuffer. Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
-rw-r--r--drivers/video/mxc/mxc_ipuv3_fb.c1
-rw-r--r--drivers/video/mxc/tve.c10
2 files changed, 5 insertions, 6 deletions
diff --git a/drivers/video/mxc/mxc_ipuv3_fb.c b/drivers/video/mxc/mxc_ipuv3_fb.c
index 5905c86238bf..7e0b7a40ecea 100644
--- a/drivers/video/mxc/mxc_ipuv3_fb.c
+++ b/drivers/video/mxc/mxc_ipuv3_fb.c
@@ -606,7 +606,6 @@ static int mxcfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
if (var->yres_virtual < var->yres)
var->yres_virtual = var->yres;
- var->bits_per_pixel = mxc_fbi->default_bpp;
if ((var->bits_per_pixel != 32) && (var->bits_per_pixel != 24) &&
(var->bits_per_pixel != 16) && (var->bits_per_pixel != 12) &&
(var->bits_per_pixel != 8))
diff --git a/drivers/video/mxc/tve.c b/drivers/video/mxc/tve.c
index 1fcb2c0ca49a..e508e2d43e90 100644
--- a/drivers/video/mxc/tve.c
+++ b/drivers/video/mxc/tve.c
@@ -1328,22 +1328,22 @@ static int tve_probe(struct platform_device *pdev)
/* is primary display? */
if (primary) {
- struct fb_var_screeninfo var;
const struct fb_videomode *mode;
- memset(&var, 0, sizeof(var));
mode = fb_match_mode(&tve_fbi->var, &tve_modelist.list);
if (mode) {
pr_debug("TVE: fb mode found\n");
- fb_videomode_to_var(&var, mode);
- var.yres_virtual = var.yres * 3;
+ fb_videomode_to_var(&tve_fbi->var, mode);
+ tve_fbi->var.yres_virtual = tve_fbi->var.yres * 3;
} else {
pr_warning("TVE: can not find video mode\n");
goto done;
}
acquire_console_sem();
tve_fbi->flags |= FBINFO_MISC_USEREVENT;
- fb_set_var(tve_fbi, &var);
+ tve_fbi->var.activate |= FB_ACTIVATE_FORCE;
+ fb_set_var(tve_fbi, &tve_fbi->var);
+ tve_fbi->var.activate &= ~FB_ACTIVATE_FORCE;
tve_fbi->flags &= ~FBINFO_MISC_USEREVENT;
release_console_sem();