alistair23-linux/drivers/video
Fredrik Noring 1ba0a59cea fbdev: Distinguish between interlaced and progressive modes
I discovered the problem when developing a frame buffer driver for the
PlayStation 2 (not yet merged), using the following video modes for the
PlayStation 3 in drivers/video/fbdev/ps3fb.c:

    }, {
        /* 1080if */
        "1080if", 50, 1920, 1080, 13468, 148, 484, 36, 4, 88, 5,
        FB_SYNC_BROADCAST, FB_VMODE_INTERLACED
    }, {
        /* 1080pf */
        "1080pf", 50, 1920, 1080, 6734, 148, 484, 36, 4, 88, 5,
        FB_SYNC_BROADCAST, FB_VMODE_NONINTERLACED
    },

In ps3fb_probe, the mode_option module parameter is used with fb_find_mode
but it can only select the interlaced variant of 1920x1080 since the loop
matching the modes does not take the difference between interlaced and
progressive modes into account.

In short, without the patch, progressive 1920x1080 cannot be chosen as a
mode_option parameter since fb_find_mode (falsely) thinks interlace is a
perfect match.

Signed-off-by: Fredrik Noring <noring@nocrew.org>
Cc: "Maciej W. Rozycki" <macro@linux-mips.org>
[b.zolnierkie: updated patch description]
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
2018-07-24 19:11:24 +02:00
..
backlight treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
console console: dummycon: export dummycon_[un]register_output_notifier 2018-06-29 11:46:19 +02:00
fbdev fbdev: Distinguish between interlaced and progressive modes 2018-07-24 19:11:24 +02:00
logo video/logo: remove obsolete logo files 2018-03-26 15:56:42 +02:00
display_timing.c
hdmi.c video/hdmi: Reject illegal picture aspect ratios 2018-05-11 09:04:25 +02:00
Kconfig fbdev changes for v4.17: 2018-04-10 10:20:00 -07:00
Makefile
of_display_timing.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
of_videomode.c
vgastate.c
videomode.c