Bläddra i källkod

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 år sedan
förälder
incheckning
1a3b09dc9a
1 ändrade filer med 7 tillägg och 1 borttagningar
  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);