aboutsummaryrefslogtreecommitdiff
path: root/drivers/video/mxc/mxc_ipuv3_fb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/mxc/mxc_ipuv3_fb.c')
-rw-r--r--drivers/video/mxc/mxc_ipuv3_fb.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/drivers/video/mxc/mxc_ipuv3_fb.c b/drivers/video/mxc/mxc_ipuv3_fb.c
index 7631445d65d..03c07b98496 100644
--- a/drivers/video/mxc/mxc_ipuv3_fb.c
+++ b/drivers/video/mxc/mxc_ipuv3_fb.c
@@ -1693,9 +1693,22 @@ static int mxcfb_setup(struct fb_info *fbi, struct platform_device *pdev)
INIT_LIST_HEAD(&fbi->modelist);
if (mxc_disp_mode[mxcfbi->ipu_di].num_modes) {
+ int i;
mode = mxc_disp_mode[mxcfbi->ipu_di].mode;
num = mxc_disp_mode[mxcfbi->ipu_di].num_modes;
- fb_videomode_to_modelist(mode, num, &fbi->modelist);
+
+ for (i = 0; i < num; i++) {
+ /*
+ * FIXME now we do not support interlaced
+ * mode for ddc mode
+ */
+ if ((mxc_disp_mode[mxcfbi->ipu_di].dev_mode
+ & MXC_DISP_DDC_DEV) &&
+ (mode[i].vmode & FB_VMODE_INTERLACED))
+ continue;
+ else
+ fb_add_videomode(&mode[i], &fbi->modelist);
+ }
}
if ((mxc_disp_mode[mxcfbi->ipu_di].dev_mode