diff options
Diffstat (limited to 'drivers/video/mxc/mxc_ipuv3_fb.c')
-rw-r--r-- | drivers/video/mxc/mxc_ipuv3_fb.c | 15 |
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 |