Переглянути джерело

fbmon: fix EDID parser to detect interlace modes

The current EDID parser in the linux kernel ignores interlace modes.  The
patch looks for the edid interlace flag and adjusts the vertical
resolution if it is found.

Signed-off-by: Jon Dufresne <jon.dufresne@gmail.com>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Jon Dufresne 17 роки тому
батько
коміт
1a3b09dc9a
1 змінених файлів з 7 додано та 1 видалено
  1. 7 1
      drivers/video/fbmon.c

+ 7 - 1
drivers/video/fbmon.c

@@ -564,7 +564,13 @@ static void get_detailed_timing(unsigned char *block,
 		mode->sync |= FB_SYNC_VERT_HIGH_ACT;
 	mode->refresh = PIXEL_CLOCK/((H_ACTIVE + H_BLANKING) *
 				     (V_ACTIVE + V_BLANKING));
-	mode->vmode = 0;
+	if (INTERLACED) {
+		mode->yres *= 2;
+		mode->upper_margin *= 2;
+		mode->lower_margin *= 2;
+		mode->vsync_len *= 2;
+		mode->vmode |= FB_VMODE_INTERLACED;
+	}
 	mode->flag = FB_MODE_IS_DETAILED;
 
 	DPRINTK("      %d MHz ",  PIXEL_CLOCK/1000000);