drm/edid: Check for user aspect ratio input
authorVandana Kannan <vandana.kannan@intel.com>
Thu, 5 Jun 2014 09:15:29 +0000 (14:45 +0530)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 23 Jul 2014 05:05:25 +0000 (07:05 +0200)
In case user has specified an input for aspect ratio through the property,
then the user space value for PAR would take preference over the value from
CEA mode list.

v2: Thierry's review comments.
- Modified the comment "Populate..." as per review comments

v3: Thierry's review comments.
- Modified the comment to block comment format.

Signed-off-by: Vandana Kannan <vandana.kannan@intel.com>
Cc: Thierry Reding <thierry.reding@gmail.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Acked-by: Dave Airlie <airlied@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/drm_edid.c

index dfa9769b26b5c57db0731361478639a9600b65b3..58a4a9d20e4af3114481e41690acf30aa8ad923e 100644 (file)
@@ -3775,8 +3775,14 @@ drm_hdmi_avi_infoframe_from_display_mode(struct hdmi_avi_infoframe *frame,
 
        frame->picture_aspect = HDMI_PICTURE_ASPECT_NONE;
 
-       /* Populate picture aspect ratio from CEA mode list */
-       if (frame->video_code > 0)
+       /*
+        * Populate picture aspect ratio from either
+        * user input (if specified) or from the CEA mode list.
+        */
+       if (mode->picture_aspect_ratio == HDMI_PICTURE_ASPECT_4_3 ||
+               mode->picture_aspect_ratio == HDMI_PICTURE_ASPECT_16_9)
+               frame->picture_aspect = mode->picture_aspect_ratio;
+       else if (frame->video_code > 0)
                frame->picture_aspect = drm_get_cea_aspect_ratio(
                                                frame->video_code);