]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00169657 mxc_edid: no aspect vmode setting for detailed timing block
authorJason Chen <b02280@freescale.com>
Wed, 7 Dec 2011 02:22:57 +0000 (10:22 +0800)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:33:34 +0000 (08:33 +0200)
Add aspect ratio setting into vmode for detailed timing block.

Signed-off-by: Jason Chen <b02280@freescale.com>
drivers/video/mxc/mxc_edid.c

index 48502d05d58bba0f57eab3498f74b2db64752de5..386df9259971ffa13741fc570aad8e1e71b8d41f 100644 (file)
@@ -32,7 +32,6 @@
 #include "../edid.h"
 
 #undef DEBUG  /* define this for verbose EDID parsing output */
-
 #ifdef DEBUG
 #define DPRINTK(fmt, args...) printk(fmt, ## args)
 #else
@@ -185,6 +184,19 @@ static void get_detailed_timing(unsigned char *block,
        }
        mode->flag = FB_MODE_IS_DETAILED;
 
+       if ((H_SIZE / 16) == (V_SIZE / 9))
+               mode->vmode |= FB_VMODE_ASPECT_16_9;
+       else if ((H_SIZE / 4) == (V_SIZE / 3))
+               mode->vmode |= FB_VMODE_ASPECT_4_3;
+       else if ((mode->xres / 16) == (mode->yres / 9))
+               mode->vmode |= FB_VMODE_ASPECT_16_9;
+       else if ((mode->xres / 4) == (mode->yres / 3))
+               mode->vmode |= FB_VMODE_ASPECT_4_3;
+
+       if (mode->vmode & FB_VMODE_ASPECT_16_9)
+               DPRINTK("Aspect ratio: 16:9\n");
+       if (mode->vmode & FB_VMODE_ASPECT_4_3)
+               DPRINTK("Aspect ratio: 4:3\n");
        DPRINTK("      %d MHz ",  PIXEL_CLOCK/1000000);
        DPRINTK("%d %d %d %d ", H_ACTIVE, H_ACTIVE + H_SYNC_OFFSET,
               H_ACTIVE + H_SYNC_OFFSET + H_SYNC_WIDTH, H_ACTIVE + H_BLANKING);