* [PATCH] fbdev: modedb: Fix misaligned fields in the 1920x1080-60 mode
@ 2026-06-12 16:40 Steffen Persvold
2026-06-12 21:22 ` Helge Deller
0 siblings, 1 reply; 2+ messages in thread
From: Steffen Persvold @ 2026-06-12 16:40 UTC (permalink / raw)
To: Helge Deller, Simona Vetter
Cc: linux-fbdev, dri-devel, linux-kernel, Steffen Persvold, stable
The 1920x1080@60 modedb entry has one too many initializers before
its sync field: a stray "0" occupies the sync slot, which shifts the
remaining values by one field. The entry therefore decodes as
sync = 0, vmode = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT (0x3,
i.e. FB_VMODE_INTERLACED | FB_VMODE_DOUBLE), and flag =
FB_VMODE_NONINTERLACED, instead of the intended sync = positive H/V,
vmode = non-interlaced.
fb_find_mode() then returns a 1920x1080 mode flagged as interlaced +
doublescan with active-low syncs. Drivers that honour var->vmode and
var->sync when programming display timing enable doublescan and the
wrong sync polarity, corrupting the output.
Drop the stray initializer so sync and vmode hold their intended
values (positive H/V sync, non-interlaced), matching the adjacent
1920x1200 entry.
Fixes: c8902258b2b8 ("fbdev: modedb: Add 1920x1080 at 60 Hz video mode")
Cc: stable@vger.kernel.org
Signed-off-by: Steffen Persvold <spersvold@gmail.com>
---
drivers/video/fbdev/core/modedb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/video/fbdev/core/modedb.c b/drivers/video/fbdev/core/modedb.c
index 7196b055..333b3d9a 100644
--- a/drivers/video/fbdev/core/modedb.c
+++ b/drivers/video/fbdev/core/modedb.c
@@ -258,7 +258,7 @@ static const struct fb_videomode modedb[] = {
FB_VMODE_DOUBLE },
/* 1920x1080 @ 60 Hz, 67.3 kHz hsync */
- { NULL, 60, 1920, 1080, 6734, 148, 88, 36, 4, 44, 5, 0,
+ { NULL, 60, 1920, 1080, 6734, 148, 88, 36, 4, 44, 5,
FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
FB_VMODE_NONINTERLACED },
--
2.40.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] fbdev: modedb: Fix misaligned fields in the 1920x1080-60 mode
2026-06-12 16:40 [PATCH] fbdev: modedb: Fix misaligned fields in the 1920x1080-60 mode Steffen Persvold
@ 2026-06-12 21:22 ` Helge Deller
0 siblings, 0 replies; 2+ messages in thread
From: Helge Deller @ 2026-06-12 21:22 UTC (permalink / raw)
To: Steffen Persvold; +Cc: linux-fbdev, dri-devel, linux-kernel
On 6/12/26 18:40, Steffen Persvold wrote:
> The 1920x1080@60 modedb entry has one too many initializers before
> its sync field: a stray "0" occupies the sync slot, which shifts the
> remaining values by one field. The entry therefore decodes as
> sync = 0, vmode = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT (0x3,
> i.e. FB_VMODE_INTERLACED | FB_VMODE_DOUBLE), and flag =
> FB_VMODE_NONINTERLACED, instead of the intended sync = positive H/V,
> vmode = non-interlaced.
>
> fb_find_mode() then returns a 1920x1080 mode flagged as interlaced +
> doublescan with active-low syncs. Drivers that honour var->vmode and
> var->sync when programming display timing enable doublescan and the
> wrong sync polarity, corrupting the output.
>
> Drop the stray initializer so sync and vmode hold their intended
> values (positive H/V sync, non-interlaced), matching the adjacent
> 1920x1200 entry.
>
> Fixes: c8902258b2b8 ("fbdev: modedb: Add 1920x1080 at 60 Hz video mode")
> Cc: stable@vger.kernel.org
> Signed-off-by: Steffen Persvold <spersvold@gmail.com>
> ---
> drivers/video/fbdev/core/modedb.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Steffen, thanks for fixing the bug which was actually introduced by me!
This patch is now applied to the fbdev git tree.
Thanks!
Helge
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-06-12 21:22 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-12 16:40 [PATCH] fbdev: modedb: Fix misaligned fields in the 1920x1080-60 mode Steffen Persvold
2026-06-12 21:22 ` Helge Deller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox