summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorPedro Perez de Heredia <pedro.perez@digi.com>2012-01-21 19:27:38 +0100
committerPedro Perez de Heredia <pedro.perez@digi.com>2012-01-21 19:27:38 +0100
commitc05cdc0210afbe89f61ffb4b7b4b26bd8c137b5b (patch)
tree02e9bde12dcc0ce59e6564ef3fac02ec7a8ed200 /drivers
parente2fdab3ae4ed922595557218157d54d1ee125993 (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.c16
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
}
}