diff options
author | Pedro Perez de Heredia <pedro.perez@digi.com> | 2012-01-21 19:27:38 +0100 |
---|---|---|
committer | Pedro Perez de Heredia <pedro.perez@digi.com> | 2012-01-21 19:27:38 +0100 |
commit | c05cdc0210afbe89f61ffb4b7b4b26bd8c137b5b (patch) | |
tree | 02e9bde12dcc0ce59e6564ef3fac02ec7a8ed200 /drivers | |
parent | e2fdab3ae4ed922595557218157d54d1ee125993 (diff) |
ccxmx5x: fixes in pixel format for RGB666 and RGB888 (#41820)
This commit fixes a problem on the ccxmx5x where the pixel
format was incorrectly set for RGB666, RGB888 on VGA and
HDMI interfaces. For the LCDs it was properly set.
Fixes #41820.
Signed-off-by: Pedro Perez de Heredia <pedro.perez@digi.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/video/mxc/mxc_ipuv3_fb.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/drivers/video/mxc/mxc_ipuv3_fb.c b/drivers/video/mxc/mxc_ipuv3_fb.c index 837ef5bffe2b..c12d0dc904f8 100644 --- a/drivers/video/mxc/mxc_ipuv3_fb.c +++ b/drivers/video/mxc/mxc_ipuv3_fb.c @@ -1692,7 +1692,7 @@ static int mxcfb_setup(struct fb_info *fbi, struct platform_device *pdev) struct mxc_fb_platform_data *plat_data = pdev->dev.platform_data; int ret = 0; #ifdef CONFIG_MODULE_CCXMX5X - char *mstr; + char *mstr, vga = 0; #endif /* Need dummy values until real panel is configured */ @@ -1714,10 +1714,14 @@ static int mxcfb_setup(struct fb_info *fbi, struct platform_device *pdev) if (mxcfbi->fb_mode_str) { #ifdef CONFIG_MODULE_CCXMX5X - if ((mstr = strstr(mxcfbi->fb_mode_str, "VGA@")) != NULL) + /* FIXME: we should move in future to use mxcfb_pre_setup + * instead of this hack in the video driver */ + if ((mstr = strstr(mxcfbi->fb_mode_str, "VGA@")) != NULL) { mxcfbi->fb_mode_str = mstr + 4; + vga = 1; + } - /* Device specific adjustments */ + // Device specific adjustments mxcfb_adjust(mxcfbi); #endif if (mxcfbi->ipu_di >= 0) { @@ -1834,6 +1838,12 @@ static int mxcfb_setup(struct fb_info *fbi, struct platform_device *pdev) /*added found mode to fbi modelist*/ fb_var_to_videomode(&m, &fbi->var); fb_add_videomode(&m, &fbi->modelist); +#ifdef CONFIG_MODULE_CCXMX5X + /* FIXME: move in to mxcfb_pre_setup instead of this hack */ + if (vga) { + fbi->var.sync |= FB_SYNC_EXT | FB_SYNC_CLK_LAT_FALL; + } +#endif } } |