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

Signed-off-by: Vandana Kannan <vandana.kannan at intel.com>
Cc: Thierry Reding <thierry.reding at gmail.com>
Cc: Daniel Vetter <daniel.vetter at ffwll.ch>

---
 drivers/gpu/drm/drm_edid.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 7a4fd2e..2628dd1 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -3657,8 +3657,13 @@ 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);

-- 
1.9.3

Reply via email to