Thread (4 messages) 4 messages, 2 authors, 2018-07-24

Re: [PATCH] fbdev: Distinguish between interlaced and progressive modes

From: Bartlomiej Zolnierkiewicz <hidden>
Date: 2018-07-24 14:38:48
Also in: dri-devel

On Wednesday, July 04, 2018 09:08:48 PM Fredrik Noring wrote:
Hi Bartlomiej,
quoted
quoted
With this change fb_find_mode can match interlaced and progressive
modes equally well, and distinguish between for example 1920x1080i
and 1920x1080p.

Signed-off-by: Fredrik Noring <redacted>
Could you please give some examples of use cases that need this change
(i.e. which fbdev drivers need it for which modes etc.)?
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.
Patch queued for 4.19 (with the above explanation used as patch description),
thanks!

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung R&D Institute Poland
Samsung Electronics
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help